Gnome 3 на bash в Ubuntu для Windows

13636
Lightly Salted

Можно ли заменить explorer.exe на Gnome3 в подсистеме Linux Windows10? Я видел уроки по Cgywin, но мне было интересно, получил ли кто-нибудь его использовать WSL?

Я столкнулся с проблемами с

DISPLAY=localhost:0 
1
Это интригующая идея, поэтому я следовал [этим инструкциям] (http://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) и я смог запустить несколько приложений с графическим интерфейсом (включая `nautilus`) с использованием` xming`, но мне пока не удалось запустить рабочий стол Gnome / Nautilus. Я предлагаю вам попробовать файловый менеджер Nautilus, чтобы узнать, нравится ли вам это, прежде чем пытаться идти дальше. Это немного похоже на Wine под Linux: многие вещи работают на удивление хорошо, но не на 100% надежно. AFH 7 лет назад 0
Я большой поклонник Gnome3 + Linux. Я использую его на своем ноутбуке ежедневно, я хочу версию для настольного компьютера, но все еще использую ядро ​​Windows из-за потребностей программного обеспечения Lightly Salted 7 лет назад 0
Я использовал Ubuntu в течение многих лет, но я начал отказываться от него, когда они пытались навязать нам рабочий стол Unity, при этом попытки восстановить Gnome classic лишь частично увенчались успехом, но Ubuntu Mate был хорошим решением, и теперь я очень счастлив с этим. Однако я не смог запустить ни Mate, ни Gnome под WLS, хотя Xfce4 работает хорошо, согласно ответу Оуэна Турламена: это не плохая среда рабочего стола, и мне очень нравится, как она интегрируется в Windows 10. Я ' Я дам вам знать, буду ли я дальше с Мате или Гномом. AFH 7 лет назад 0
Дальнейшее обновление: я обновил WSL до 16.04.1, чтобы привести его в соответствие с другими моими системами. Отдельные приложения с графическим интерфейсом по-прежнему работают, в отличие от любой среды рабочего стола: `xfce4` работает, но рабочий стол невидим, независимо от того, находится ли X-сервер в режиме одного или нескольких окон. Обновление было простым, хотя мне нужны были [эти патчи] (https://github.com/Microsoft/BashOnWindows/issues/482#issuecomment-234695431) с дополнительной библиотекой http://mirrors.kernel.org/ubuntu/ pool / main / p / procps / libprocps3_3.3.9-1ubuntu2_amd64.deb для получения `procps` для установки. AFH 7 лет назад 0

3 ответа на вопрос

3
Owen Tourlamain

Я только что протестировал Gnome 3, и не похоже, что его будет легко запустить, однако в настоящее время у меня на компьютере и ноутбуке установлена ​​двойная панель задач, одна панель задач Windows и одна XFCE4. Вот как я это настроил:

  • Сначала убедитесь, что WSL настроен.
  • Затем установите VcXsrv на стороне Windows, это будет использоваться для отображения графического вывода из WSL.
  • Теперь нам нужно указать WSL указать VcXsrv, чтобы выполнить этот запуск: echo "export DISPLAY=:0.0" >> ~/.bashrcэтот файл будет читаться при каждом запуске bash.
  • есть также проблема с dbus, которую нужно разобрать, для этого просто запустите: sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.confв bash.
  • Давайте протестируем это полностью, запустим XLaunch (часть VcXsrv), выберите «Несколько окон» и поставьте 0 в качестве номера дисплея. Нажмите «Далее» дважды, затем закончите.
  • Запуск что - то графическое, чтобы проверить, попробуйте xeyes (возможно, потребуется установить x11-приложения первым: sudo apt-get install x11-apps)
  • Это сработало? хорошо, теперь нам нужно запустить рабочий стол, я покажу шаги для XFCE4, однако я видел работу Unity и подозреваю, что LXDE должен работать. (Я знаю, что у Корицы есть несколько проблем, которые похожи на Gnome)
  • Бежать: sudo apt-get install xfce4
  • Как только это будет сделано, запустите: xfce4-sessionподождите минуту, и у вас должно появиться всплывающее окно с вопросом о панелях. Я бы порекомендовал выбрать конфигурацию по умолчанию, если вы не привыкли к XFCE4.
  • Если все это работает, мы почти готовы к работе, не стесняйтесь позиционировать и настраивать вашу новую панель задач сейчас.
  • Следующее, что нам нужно, это способ остановить максимизацию окон под новой панелью задач, для этого я использовал Desktop Coral, это бесплатно, но немного раздражает, вы должны получать новый ключ каждые шесть месяцев, вы получаете пожизненный ключ после хотя какое-то время Если вы не хотите использовать это, ищите программу, которая может зарезервировать место на экране.
  • После того, как это настроено, настройте его так, чтобы оно резервировало то же место, что и ваша панель, и убедитесь, что окна не рисуются под ним. Когда вы счастливы, отметьте опцию прозрачного режима
  • Теперь нам нужно сделать все это "просто работать", Desktop Coral уже запускается при запуске, так что это покрыто. Теперь нам нужен скрипт на стороне Windows, чтобы запустить bash и XFCE4 при запуске. Запустите текстовый редактор (блокнот подойдет) и вставьте в него:

    set ws=wscript.createobject("wscript.shell") ws.run """C:\Program Files\VcXsrv\vcxsrv.exe"" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl",0 WScript.Sleep 500 ws.run "C:\Windows\System32\bash.exe -c 'export DISPLAY=:0.0; xfce4-session'",0 
  • Это запустит наш X-сервер и нашу рабочую среду за один раз, сохраните его как <somewhere important>/<whatever>.vbs.

  • Чтобы проверить работу этого сценария, выйдите из VcXsrv, а затем дважды щелкните сценарий, подождите немного, и ваша новая панель задач должна появиться.
  • Теперь нам нужно выполнить этот запуск при запуске, поэтому запустите планировщик задач, перейдите в меню «Действие» -> «Создать базовую задачу» ...
  • Дайте вашей задаче имя, нажмите Далее, затем выберите «Когда я вхожу в систему». Нажмите Next дважды, затем введите или перейдите к вашему сценарию. Нажмите Next и наконец Finish.
  • Последнее, что нужно перезагрузить, чтобы увидеть, работает ли оно!

Это должно дать вам в основном функциональную среду Linux в Windows, она не является префектом (возможно, вам захочется выключить заставку), но она работает! Я еще не выяснил, как заменить Проводник, я подозреваю, что это будет невозможно, так как любые программы, которые вы запускаете с новой панели задач, будут отображаться на панели задач Windows, а не на XFCE4.

Помимо того, что XFCE4 не отвлекается на плохую внешность, он полностью тематизирован и поставляется с множеством встроенных тем на выбор, а также множеством других полезных файлов для загрузки.

И последнее замечание: эта панель задач будет отображаться поверх полноэкранных окон, в настоящее время я использую TurboTop, чтобы отключить ее, когда она мне нужна, не особенно элегантно, поэтому следите за этим вопросом, чтобы найти решение.

0
PrashantKumar96

Я думаю, что это невозможно.

explorer.exeэто оболочка Windows. explorer.exeзапускается WinLogon после успешной аутентификации. WinLogon идентифицирует его как оболочку, посмотрев Shellключ реестра здесь:

 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 

Метод cygwin, о котором вы говорите, это, я думаю, этот (я мог найти этот древний метод только с помощью быстрого поиска): https://marc.info/?l=kde-cygwin&m=103072530327420&w=2

Из того, что я могу понять, посмотрев на него, мы просто заменим explorer.exeуказанный выше раздел реестра наc:\cygwin\bin\bash --login -c startx

Это означает, что при входе в систему Windows Explorer не запускается, вместо этого запускается bash и запускается X-сервер (то есть запускается KDE [или GNOME]). Теперь давайте разберемся, что здесь произойдет.

Во-первых, нет Windows Explorer. Если вы когда-либо убивали все процессы explorer.exe из диспетчера задач, вы могли заметить пустой экран. Если у вас открыто несколько приложений, они будут отображаться на экране, даже если вы их минимизируете, потому что не существует файла explorer.exe для обработки открытых окон.

Теперь запущенный bash (и, следовательно, GNOME) является полноэкранным приложением (очень похоже на игру). Он будет работать так же, как обычный оконный менеджер, он будет просматривать файлы, иметь (свою) панель задач и область уведомлений и т. Д. Но, в конце концов, это всего лишь обычное приложение, ничем не отличающееся от notepad.exe(кроме полноэкранного режима, конечно). Приведенная выше ссылка сама говорит что-то, что намекает на это:

Примечание: если вы хотите запускать программы Windows отсюда, в Windows 2000 вы можете нажать Ctrl-Shift-Esc, который вызывает диспетчер задач, а затем перейти в File / Run.

Запуск диспетчера задач выйдет из полноэкранного режима и покажет диспетчер задач над интерфейсом GNOME, а не внутри него.

Что касается выхода из системы, это упоминается:

Выход из KDE фактически не выходит из системы, вам нужно закрыть KDE другим способом, а затем нажать Ctrl-Alt-Del и выбрать выход из системы. В зависимости от ваших параметров .xserverrc, Ctrl-Alt-Backspace или Alt-F4 могут быть использованы для закрытия X-сервера. В противном случае вы можете закрыть его из диспетчера задач (выберите задачу Cygwin и скажите «Завершить задачу»).

Так что, без сомнения, вы увидите интерфейс GNOME при входе в систему и можете применить все утомительные хаки для запуска приложений Windows с помощью ярлыков, но это не замена explor.exe .

Спрашивающий не использует Cygwin, но WSL. AFH 7 лет назад 0
С WSL тоже не так уж много по-другому. _C: \ cygwin \ bin \ bash_ будет заменен на _C: \ windows \ system32 \ bash_. Но принцип будет тот же - наличие полноэкранного x-сервера с GNOME. PrashantKumar96 7 лет назад 0
0
Ricky Neff

Кстати, все, что вам нужно сделать, это:

apt update && apt upgrade -y && apt установить xfce4 x11-apps lightdm

затем,

xfce4-session --display = 0: 0

Просто убедитесь, что вы используете xming или vcxsrv или что-то в Windows

Это установит xfce4, а не Gnome 3, который запрашивал OP. bertieb 6 лет назад 0

Похожие вопросы