Linux用Windowsサブシステム(WSL)のターミナルは、ごくわずかです。私はWindowsで端末をあまり使用していません-私は一般的にUbuntuまたはOSXを使用していますが、デフォルトの端末があまりにも裸であることに驚いています。
以下のいずれかが可能ですか?
WindowsターミナルプログラムをWSLに接続するか、
WSLからUbuntuウィンドウプログラムをXウィンドウとして起動しますか?
Linux用Windowsサブシステム(WSL)のターミナルは、ごくわずかです。私はWindowsで端末をあまり使用していません-私は一般的にUbuntuまたはOSXを使用していますが、デフォルトの端末があまりにも裸であることに驚いています。
以下のいずれかが可能ですか?
WindowsターミナルプログラムをWSLに接続するか、
WSLからUbuntuウィンドウプログラムをXウィンドウとして起動しますか?
回答:
私は個人的に後者を行います:VcXsrvをマルチウィンドウモードでXサーバーとして使用してからxfce4-terminalを起動します(gnome-terminalには視覚的な問題があったので修正方法を学ぼうとは思わなかったため)、そして突然フォントと色をサポートする有能な端末。
これらをbashrcに追加する必要があることがわかりました...
export DISPLAY="localhost:0"
export TERM=xterm-256color
dbusのこのredditから修正を行います。
sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf
compizもインストールし、cbwinプロジェクトを使用してxfce4-terminalシェルからWindowsプログラムを実行します。
私はこのセットアップに非常に満足しており、NeoVim +多くのネイティブlinuxプラグインを使用していますが、「作業用」マシンはWindowsでなければなりません。:)
また、Bash-on-Linux-on-WindowsでSSHサーバーを起動して、CygwinなどのMinTTYから接続することもできます。
PS:xfce4-terminalを簡単に起動し、追加のbash cmdウィンドウなしで起動するために、コンソールウィンドウなしでxfce4-terminalを起動する引数を指定してbashプロセスを起動するだけのプログラムを作成しました。私はこれをC#で行いました-基本的には引数「UseShellExecute」falseおよび「CreateNoWindow」trueを使用します。その後、それをタスクバーに固定しましたが、ほとんど見えません。
編集:VBScriptの答えは素晴らしいです。これは同じスクリプトですが、JScriptバージョンです...
WScript.CreateObject("WScript.Shell").run('bash.exe -l -c "DISPLAY=:0.0 xfce4-terminal"', 0, false);
他の回答のすべての暗黙のステップを理解するのに少し時間がかかったので、ここにステップごとの要約があります:
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
ため、たとえばに入れると便利です。xfce4-terminal
と正常に動作します。さらに、bash -l -c xfce4-terminal
windows cmdから実行すると警告が表示されGtk-WARNING **: cannot open display:
、何も起こりません。これらのコマンドがまったく同じように動作するはずだと思ったので、私はかなり混乱していますか?
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -Command "iex \"bash.exe ~ -c 'DISPLAY=:0 xfce4-terminal'\" "
Xmingが実行されていない場合に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'\" "
私が作成した(および使用)と呼ばれるLinux用のWindowsサブシステム(WSL)のためのオープンソース端子WSL-の端末を、それが基づいているmintty
とwslbridge
。
wsl-terminal
、より良い端末体験を提供する理由に関する詳細を追加してください。
Ubuntuの新規インストールでは、XMing(Windowsの場合)をインストールし(Ubuntuの場合)xfce4-terminalをインストールexport DISPLAY=:0
しました。
Windowsのデフォルトコンソールを取り除くために、このVBSスクリプトは次のことを行います。
WScript.CreateObject("WScript.Shell").run "bash -l -c xfce4-terminal", 0, True
(。に$ DISPLAYが設定されて.profile
いる場合)
編集:そして、スクリプトをpin'ableにするには、targetでショートカットを作成しますwscript "C:\path\to\thescript.vbs"
。
Windowsの場合:
これがお役に立てば幸いです。
htop
ConEmuは素晴らしい作品です!インストールして、新しい{bash}コンソールを起動するだけです。に追加cd ~
しました.bashrc
デフォルトでホームディレクトリから起動するよう。
Extratermは単なるターミナルエミュレータではありません。端末およびコマンドラインアプリケーションで作業するためのツールボックスを提供します。
Windows 10(およびWSL)の最新の更新以降、すべてが「ネイティブ」のWindows bashコンソールを使用して機能しているようです。(そして、私は(有名な)1809 Windowsアップデートについて話していません)。これは、少なくとも1803 17134.345ビルドのエンタープライズバージョンでも機能します)。
https://www.hanselman.com/blog/SettingUpAShinyDevelopmentEnvironmentWithinLinuxOnWindows10.aspxの記事を参照してください。
少し注意点-Windowsでbashコンソールを実際に使用するには、tmuxを起動する必要があります-そして、彼のブログでScottが示したようにすべてが機能します。
より現代の端末https://eugeny.github.io/terminus/
Terminusは、Hyperに大きな影響を受けた端末です。しかし、それは物事を成し遂げる必要がある人々のために設計されています。
バックエンドシェルbash、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"
],
今日、Microsoftがオープンソース化した「Windowsターミナル」を使用することをお勧めします。
公式ビルドは、今年6月中旬にWindowsストアから入手できます。
ただし、以下のプレビューバージョンを使用して体験することもできます。 https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/WindowsTerminal_SelfSigned_x86_x64_arm64.7z
インストール後、実行結果は以下のとおりです。
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
runコマンドで括弧を使用する場合は、スクリプトの前に追加する必要があります。こちらを参照してください。また、ティックは逆方向である必要がありました。さらに、xfce4-terminalへの追加の引数は、ユーザーのホームフォルダーでターミナルを起動します。これが実際にJScriptコードで動作していた場合は申し訳ありませんが、これらのスクリプト言語についてはわかりません。
これをファイルvbscript.vbsとして保存し、cmdプロンプトから実行する
wscript vbscript.vbs
2秒後にxfce4-terminalウィンドウを開きます(XMingなどが実行されている場合)。これを実際にn.caillouの作品で示唆されているショートカットに変えると、ショートカットをクリックすると、少し遅れて新しいxfceターミナルウィンドウが自動的に生成されます。