Лучший опыт работы с терминалом для Windows подсистемы для Linux (WSL)?

Терминал для подсистемы Windows для Linux (WSL) довольно минимален. Я не использовал терминал в Windows очень сильно - я обычно использую Ubuntu или OSX, но я удивлен, что терминал по умолчанию настолько голый.

Возможно ли это:

Подключить терминальную программу Windows к WSL или запустить терминальную программу Ubuntu из WSL в виде окна X?
1
задан 1 August 2017 в 05:25

5 ответов

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

В Windows установите VcXsrv или XMing. В Bash для Windows установите терминал: sudo apt-get install xfce4-terminal. Добавьте export DISPLAY=:0 к вашему .bashrc. (Добавление его к .profile или .bash_profile не сработало для меня). Это позволит вам правильно запустить xfce4-terminal из bash, но ортогонально приведенной ниже команде. Выполните следующее в ярлыке или в приглашении «Запуск» (как предложено @OhJeez в комментариях):
powershell -windowstyle hidden -Command "iex \"bash ~ -c 'DISPLAY=:0 xfce4-terminal'\" "

Другие примечания:

~ запускает bash в ваш домашний каталог, вы можете удалить его, чтобы начать в любом каталоге, в котором находится файл .vbs. Так что удобно помещать его в C:\Users\foo, например. Обратите внимание, что XMing должен работать для работы скрипта; чтобы автоматически запускать его с помощью Windows, вы можете следовать инструкциям в этой статье. Emacs 24 (входит в Ubuntu 14.04), похоже, не работает с XMing; Мне пришлось установить более новую версию, как было предложено в этом посте.
13
ответ дан 23 May 2018 в 05:54
  • 1
    Спасибо за вашу помощь. Когда я запускаю скрипт, ничего не происходит (сервер Xming работает). Однако, если я открываю bash и запускаю xfce4-terminal, он отлично работает. Кроме того, если я запускаю bash -l -c xfce4-terminal из окон cmd, я получаю предупреждение Gtk-WARNING **: cannot open display:, и ничего не происходит. Я очень смущен, когда понял, что эти команды должны вести себя одинаково, любые догадки? – rperryng 10 July 2017 в 19:04
  • 2
    @rperryng yeah - Я также пытаюсь получить однострочный ключ для открытия xfce без уродливой командной строки bash между ними, но пока не повезло. – Andrew Mao 17 July 2017 в 23:21
  • 3
    Лучшее решение для запуска xfce4-терминала с помощью ярлыка. Есть мерцание, но окно не осталось: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -Command "iex \"bash.exe ~ -c 'DISPLAY=:0 xfce4-terminal'\" " Другая версия, которая запустит Xming, если она не работает: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -Command "iex '& \"C:\Program Files (x86)\Xming\Xming.exe\" -multiwindow'; iex \"bash.exe ~ -c 'DISPLAY=:0 xfce4-terminal'\" " – OhJeez 26 July 2017 в 00:45
  • 4
    @OhJeez приятно, спасибо за разработку тонкостей этой команды. – Andrew Mao 28 July 2017 в 21:44
  • 5
    Обходной путь для дисплеев с высоким разрешением. Если у вас есть дисплей 4k, у вас будут размытые шрифты в вашем терминале. Чтобы исправить это, вам понадобится: 1. Использовать VcXsrv Windows X Server " вместо Xing sourceforge.net/projects/vcxsrv 2. Запустите xserver в режиме совместимости. Для этого вам нужно: щелкнуть по ссылке VcXsrv правой кнопкой мыши. Выберите «Свойства». В разделе "Совместимость" установите флажок напротив «Переопределить поведение масштабирования высокого DPI ...». и выберите «Приложение». в следующем раскрывающемся списке. 3. Запустите xfce4-terminal и измените настройку шрифта. Измените шрифт на более крупный. – koorchik 30 September 2017 в 20:33

В новой установке Ubuntu я только что установил XMing (в Windows), затем (в Ubuntu) xfce4-terminal, а после I export DISPLAY=:0 он работал.

Чтобы избавиться от Windows по умолчанию, этот скрипт VBS выполняет задание:

WScript.CreateObject("WScript.Shell").run "bash -l -c xfce4-terminal", 0, True

(с $ DISPLAY, установленным в вашем .profile.)

edit: И чтобы сделать сценарий pin'able, создайте ярлык с целью wscript "C:\path\to\thescript.vbs".

5
ответ дан 23 May 2018 в 05:54
  • 1
    Кажется, что VBS работает, однако окно терминала открыто и закрыто сразу. Как я могу продолжать работать? – TCB13 16 April 2017 в 01:04

Я создал (и использовал) терминал с открытым исходным кодом для Windows Subsystem for Linux (WSL) под названием wsl-terminal, он основан на mintty и wslbridge.

wsl- клемма

4
ответ дан 23 May 2018 в 05:54
  • 1
    Будьте осторожны с саморекламой - он может выглядеть как спам. askubuntu.com/help/promotion – user3956566 20 September 2017 в 04:54
  • 2
    Самостоятельное продвижение в порядке, если вы это признаете – David LeBauer 20 September 2017 в 05:16
  • 3
    И вы этого не подтвердили. – muru 20 September 2017 в 05:31
  • 4
    И, пожалуйста, добавьте некоторые сведения о том, почему wsl-terminal обеспечит лучший опыт работы с терминалом. – Cynplytholowazy 20 September 2017 в 07:09
  • 5
    Спасибо за то, что поделился этим. Ваш материал уже работает лучше, чем встроенный терминал - по крайней мере, он может иметь дело с линейной упаковкой в ​​командной строке немного лучше. CTRL-A, чтобы быстро перейти к началу команды, все равно не работает. Я доволен тем, что люди любят такие вещи. Люди должны успокоиться. – EdH 23 December 2017 в 19:41

В Windows:

Нажмите на верхний левый угол окна bash. В открывшемся меню выберите «Свойства». Установите параметры, которые вы хотите использовать как шрифт и т. Д. (Есть даже моно шрифт Ubuntu!) После настройки свойств они будут применены для текущего окна. Чтобы установить их по умолчанию, щелкните в верхнем левом углу окна и выберите значения по умолчанию. Вы можете нажать Alt + Enter для переключения полноэкранного режима.

Надеюсь, это поможет.

3
ответ дан 23 May 2018 в 05:54
  • 1
    Я хотел бы указать, что он имеет тот же внешний вид / использование, что и терминал Ubuntu (Gnome), за исключением того, что он добавляет поддержку мыши. т.е. вы можете щелкнуть заголовки столбцов в htop – WinEunuuchs2Unix 8 October 2017 в 02:42

ConEmu отлично работает! Просто установите его и запустите новую консоль {bash}. Я добавил cd ~ к своему .bashrc, чтобы он по умолчанию начинал с моего домашнего каталога.

Хорошее объяснение: ConEmu

2
ответ дан 23 May 2018 в 05:54

Другие вопросы по тегам:

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