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

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

Это возможный к также:

  1. Подключите программу терминала Windows к WSL или

  2. Запустить программу терминала Ubuntu от WSL как X-окно?

29
задан 31 July 2017 в 19:25

12 ответов

Я лично делаю последнего: используйте VcXsrv в качестве моего X-сервера в нескольких режиме окон, затем запустите xfce4-терминал (потому что терминал гнома имел визуальные проблемы, которые я не хотел попытаться изучить, как зафиксировать), и внезапно у меня есть компетентный терминал со шрифтом и цветной поддержкой.

Я нашел, что должен был добавить их к своему bashrc...

export DISPLAY="localhost:0"
export TERM=xterm-256color

Сделайте фиксацию от этого reddit для dbus:

sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf

Я также установил compiz, и я использую cbwin проект запустить Windows-программы от моей xfce4-терминальной оболочки.

Я очень доволен этой установкой и использованием NeoVim + много собственных плагинов Linux даже при том, что моя машина "для работы" должна быть Windows.:)

Также возможно запустить сервер SSH в Bash-on-Linux-on-Windows и затем соединиться с ним, сказать от MinTTY как от Cygwin.

PS: для создания запускающегося xfce4-терминала безболезненным и без дополнительного удара cmd окно я записал программу, которая действительно только запускает процесс удара с аргументов для запуска xfce4-терминала без консоли. Я сделал это в C# - в основном использует аргументы ложь "UseShellExecute" и "CreateNoWindow" верный. Я затем прикрепил это к своей панели задач, и это является почти бесшовным.

Править: Ответ с VBScript является блестящим. Вот тот же самый сценарий, но версия JScript...

WScript.CreateObject("WScript.Shell").run('bash.exe -l -c "DISPLAY=:0.0 xfce4-terminal"', 0, false);
26
ответ дан 23 November 2019 в 00:51

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

screenshot

10
ответ дан 23 November 2019 в 00:51

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

Для избавлений от консоли Windows по умолчанию этот сценарий VBS делает задание:

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

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

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

5
ответ дан 23 November 2019 в 00:51

В Windows:

  • Нажимают на левый верхний угол окна удара.
  • В меню, которое открывает избранные 'Свойства'
  • опции Набора, которые Вы хотите как шрифт и т.д. (существует даже Ubuntu моно шрифт!)
  • свойства установки After они будут применены для текущего окна. Для установки их как значения по умолчанию нажимают верхний левый угол окна и нажимают значения по умолчанию.
  • можно нажать Alt+Enter для переключения полноэкранного режима.

я надеюсь, что это помогает.

3
ответ дан 23 November 2019 в 00:51

Extraterm является больше, чем просто эмулятор терминала. Это обеспечивает панель инструментов для работы с Вашими приложениями терминальной и командной строки.

  • Функции
  • Поддержки Linux и macOS, в Windows WSL, CMD, PowerShell и Cygwin
  • xterm, совместимом
  • вкладки Multiple и области, разделение и размещенный рядом любой путь, Вам нравится
  • Выставочные изображения в поддержке Unicode терминала
  • Цветной эмодзи
  • Клавиатура дружественный “Command Palette”
  • Настраиваемые привязки клавиш
  • основанные на клавиатуре выборы
  • интеграция Shell; может изолировать и вывод команды ‘frame’. (удар, zsh и поддерживаемая рыба)
  • Легкие загрузки и загрузки с помощью интеграции оболочки
  • вывод Команды доступен для редактирования на месте. Мультикурсор редактируя
  • вывод команды Previous может использоваться в качестве входа для новых команд
  • Поддержки iTerm2 и темы TextMate
  • текстовое масштабирование
2
ответ дан 23 November 2019 в 00:51

Терминал для более нашего времени https://eugeny.github.io/terminus /

Конечная остановка является терминалом, в большой степени вдохновленным Hyper. Это, однако, разработано для людей, которые должны добиться цели.

  • Работает на Windows, macOS и Linux
  • Theming и цветовых схемах
  • Полностью настраиваемые ярлыки
  • , Полная поддержка Unicode включая символы двойной ширины
  • не дросселирует на быстрых выводах
  • Надлежащий подобный оболочке опыт в Windows включая заполнение клавишей Tab (через Звон)
  • , PowerShell (+Core), WSL (Bash в Windows), Bash мерзавца, Cygwin, Cmder и поддержка CMD
  • Помнит Ваши вкладки
  • Интегрированный клиент SSH и менеджер соединений
1
ответ дан 23 November 2019 в 00:51

https://hyper.is /

  • Это основано на электроне, который помогает разработать и расширить использование JavaScript.
  • Это не использует консоль окон по умолчанию всегда.
  • Это позволяет, Вы для выбора бэкенда окружаете удар, cmd, PowerShell.

    the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
    if left empty, your system's login shell will be used by default
    
    Windows
    - Make sure to use a full path if the binary name doesn't work
    - Remove `--login` in shellArgs
    
    Bash on Windows
    - Example: `C:\\Windows\\System32\\bash.exe`
    
    PowerShell on Windows
    - Example: `C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`
    shell: 'C:\\Windows\\System32\\bash.exe',enter code here
    

Очень хорошие темы и плагины

plugins: [
    //"hyper-dracula"
    //"hyper-solarized-dark"
    "hyper-material-theme"
],

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

1
ответ дан 23 November 2019 в 00:51

Сегодня, Вам предлагают использовать "терминал Windows" , который является открыт полученный Microsoft.

официальная сборка может быть получена из Windows Store в середине июня в этом году.

, Но можно также испытать его использующий ниже версии предварительного просмотра. https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/WindowsTerminal_SelfSigned_x86_x64_arm64.7z

, После того, как установлено, рабочие результаты ниже:

pic1

pic2

pic3

pic4

1
ответ дан 23 November 2019 в 00:51

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

  1. В Windows, установка VcXsrv или XMing.
  2. В Bash для Windows установите терминал: sudo apt-get install xfce4-terminal.
  3. Добавить export DISPLAY=:0 к Вашему .bashrc. (Добавление его к .profile или .bash_profile не работал на меня). Это позволит Вам запускаться xfce4-terminal правильно от удара, но является ортогональным к команде ниже.
  4. Выполните следующее в ярлыке или в подсказке Выполнения (как @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; я должен был установить более новую версию, как предложено в этом сообщении.
21
ответ дан 23 November 2019 в 00:51

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

Хорошее объяснение: https://conemu.github.io/en/BashOnWindows.html

3
ответ дан 23 November 2019 в 00:51

При расширении ответов aikeru и n.caillou, поскольку ни одно из их решений для VBScript/JScript не работало правильно далеко для меня.

Call WScript.CreateObject("WScript.Shell").Run("bash.exe -l -c 'DISPLAY=:0.0 xfce4-terminal --working-directory $HOME'", 0, True).

Сценарий должен предварительно ожидаться Call при использовании круглой скобки в команде выполнения посмотрите здесь. Также галочки должны были быть наоборот. Кроме того, дополнительный аргумент xfce4-терминалу запустит терминал в домашней папке пользователя. Извините, если это на самом деле работало код JScript, я понятия не имею об этих языках сценариев.

Сохранение этого как файл vbscript.vbs и выполнение от cmd запрашивают

wscript vbscript.vbs

затем открывает xfce4-окно-терминала (данный XMing, или одинаково работает) после задержки 2 секунд. Превращение этого в ярлык, как предложено работами n.caillou действительно и нажатие на ярлык автоматически породят новое xfce окно терминала с некоторой задержкой.

0
ответ дан 23 November 2019 в 00:51

Начиная с последних обновлений Windows 10 (и WSL) все, кажется, работает с помощью "собственной" консоли удара окон. (И я не говорю о (в) известном обновлении Windows 1809 года). Это работает даже над Версией для предприятия по крайней мере на 1803 17 134,345 сборки).

См. статью в https://www.hanselman.com/blog/SettingUpAShinyDevelopmentEnvironmentWithinLinuxOnWindows10.aspx

Немного протеста - для реального использования консоли удара в Windows, нужно запустить tmux - и все будет работать, как показал Scott в его блоге.

1
ответ дан 23 November 2019 в 00:51

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

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