2

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

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

DISPLAY=localhost:0

3 ответа3

4

Я только что протестировал 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-apps: 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, чтобы отключить ее, когда она мне нужна, не особенно элегантно, поэтому следите за этим вопросом, чтобы найти решение.

1

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

apt update && apt upgrade -y && apt install xfce4 x11-apps lightdm

затем,

xfce4-session --display=0:0

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

0

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

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .