Windowsサブシステムfor Linux(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 ShellからWindowsプログラムを実行します。
私の「仕事用」マシンはWindowsでなければならないのに、このセットアップには非常に満足しており、NeoVimと多くのネイティブLinuxプラグインを使用しています。 :)
また、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
に入れると便利です。wsl-terminal と呼ばれるLinux用Windowsサブシステム(WSL)用のオープンソースターミナルを作成(および使用)しました。これはmintty
およびwslbridge
に基づいています。
Ubuntuの新規インストールでは、XMing(Windowsの場合)をインストールし(Ubuntuの場合)xfce4-terminalをインストールし、export DISPLAY=:0
の後、動作しました。
Windowsのデフォルトコンソールを取り除くために、このVBSスクリプトは次のことを行います。
WScript.CreateObject("WScript.Shell").run "bash -l -c xfce4-terminal", 0, True
(.profile
に$ DISPLAYが設定されています。)
編集:そして、スクリプトを固定可能にするには、ターゲットwscript "C:\path\to\thescript.vbs"
を使用してショートカットを作成します。
ConEm うまくいきます!インストールして、新しい{bash}コンソールを起動するだけです。 cd ~
を.bashrc
に追加して、デフォルトでホームディレクトリから開始するようにしました。
Windowsの場合:
これがお役に立てば幸いです。
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に大きな影響を受けた端末です。しかし、それは物事を成し遂げる必要がある人々のために設計されています。
今日、あなたは "Windows terminal" を使用することをお勧めします。これはMicrosoftによってオープンソース化されています。
公式ビルドは、今年6月中旬にWindowsストアから入手できます。
ただし、以下のプレビューバージョンを使用して体験することもできます。 https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/WindowsTerminal_SelfSigned_x86_x64_arm64.7z
インストール後、実行結果は以下のとおりです。
バックエンドシェル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"
],
このガイド を使用して、WLSを取得できました。bashは非常にうまく機能しています。
aiker および n.caillo の回答を拡張すると、VBScript/JScriptソリューションのどちらもすぐに機能しなかったためです。
Call WScript.CreateObject("WScript.Shell").Run("bash.exe -l -c 'DISPLAY=:0.0 xfce4-terminal --working-directory $HOME'", 0, True).
Runコマンドで括弧を使用する場合、スクリプトの前にCall
を追加する必要があります。 here を参照してください。また、ティックは逆方向である必要がありました。さらに、xfce4-terminalへの追加の引数は、ユーザーのホームフォルダーでターミナルを起動します。これが実際にJScriptコードで動作していた場合は申し訳ありませんが、これらのスクリプト言語についてはわかりません。
これをファイルvbscript.vbsとして保存し、cmdプロンプトから実行沿って
wscript vbscript.vbs
2秒後にxfce4-terminalウィンドウを開きます(XMingなどが実行されている場合)。 n.caillou's で提案されているように、これをショートカットに変えることは実際に機能し、ショートカットをクリックすると、少し遅れて新しいxfceターミナルウィンドウが自動的に生成されます。