私はあちこち検索しましたが、現在2つの方法が提案されています。Linux用Windowsサブシステムの拡張機能をインストールし、XServerをインストールします。
どの方法が最も手間がかからず(インストールが簡単で、使用も簡単)、どちらの方法もメモリの使用量が少ないかを知りたいです。
SynapticとCMakeが欲しいだけです。なぜそれが組み込みの機能にならないのですか?
私はあちこち検索しましたが、現在2つの方法が提案されています。Linux用Windowsサブシステムの拡張機能をインストールし、XServerをインストールします。
どの方法が最も手間がかからず(インストールが簡単で、使用も簡単)、どちらの方法もメモリの使用量が少ないかを知りたいです。
SynapticとCMakeが欲しいだけです。なぜそれが組み込みの機能にならないのですか?
回答:
簡単な答えは、WSLはまだこの機能をサポートしていないため、できないということです。WSLは、Linuxカーネルを備えた完全なLinuxインストールではありません。Windows(Microsoft)カーネルでいくつかのネイティブLinuxコマンド/バイナリを実行でき、制限があります。
https://github.com/Microsoft/WSL/issues/2356を参照してください
ただし、xming、sshなどのサードパーティXサーバーをWSLにインストールできます。
このチュートリアルは、いたるところにある(X over ssh)ので、ここではコピーしませんでした。一部のアプリは、この手法でも動作しないことが予想されます。
DISPLAY
で準備完了です(とにかくxmingとVcXsrvの場合)。
VcXsrv
WSL(Linux用Windows 10サブシステム)で使用することにしました。Windows 10 Ubuntu 16.04でグラフィカルユーザーインターフェイス(GUI)をサポートするためにいずれかを選択する前にxming
、誰もが(受け入れられた回答)とVcXsrvの間で調査を行うことをお勧めします。
インストールは簡単です。2019年3月17日の時点で、デフォルトをそのまま受け入れることができます。gedit
Bashシェル/ターミナル内から呼び出したい場合は、次の~/.bashrc
行を編集して挿入する必要があります。
export DISPLAY=localhost:0.0
実行できました:
sudo apt install ubuntu-desktop
sudo apt install yad
sudo apt install gedit
... GUIデスクトップソフトウェアをインストールします。そして、これは私が実行を許可gedit
してnautilus
。またapt
、apt-get
コマンドを使用してCLI(コマンドラインインターフェイス)から特定のGUIアプリケーションをインストールできました。
WSL内のUbuntu bashスクリプトの多くを試してみたい場合は、VcXsrvをインストールしてzenity
、yad
ユーザー入力用のx-windowsダイアログボックスを表示する必要があります。
他の人が指摘したように、WSL内のGUIは完全ではなく、いくつかの問題の解決に時間を費やすことが期待できます。また、一部のGUIソフトウェアはWSLで機能しません。
/etc/environment
GUIドロップダウンメニューを調整するように変更しました。
PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0
/mnt/e/bin
これは、Windows 10デュアルブートWSLとUbuntu 16.04デュアルブートの両方で使用されるスクリプトを保存する場所であるため、異常なパスです。ほとんどのユーザーは、これをマシンに含めません。gedit
、Ubuntu Desktopの経験からよく知っているものを使用できることです。また、私のbashスクリプトの多くが使用しzenity
たりyad
、X-Windowsのダイアログボックスの。これらのbashスクリプトVcXsrv
は、インストールされない限り実行されません 。
export DISPLAY=:0
。今、私は実行することができxhost
、xeyes
およびgnuplot
Ubuntuの中で(これらのプログラムは、すでにUbuntuのWSLにインストールされて提供されます)。
export LIBGL_ALWAYS_INDIRECT=1
、VcXsrvを使用してX上のGLアプリでハードウェアアクセラレーションを取得します
Windows(Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft)上のUbuntuで、Win 10 BashでVcXsrvを使用して非常に良い経験をしました。Unityデスクトップは役に立たず、リソースを消費するため、実行に集中しませんでした。XServerを使用してWindows 10デスクトップからGUIモードでbashからアプリを実行しただけです。
SourceforgeのここからVcXsrvをインストールします
VcXsrvアプリを直接実行し、XLaunchを起動しないでください。localhost:0.0 - 0 clients
Win10タスクバーのアイコンにカーソルを合わせると表示されるはずです
Ubuntu Bashを開きます。
cd /mnt
(結果はlocalhost @ localhost:/ mnt $になります)
cd ..
(localhost @ localhost:/ $は、WSLが認識できる限り、このコマンドでハードドライブの先頭に移動できることを意味します...)
sudo apt-get install dbus synaptic nautilus --install-suggests --show-progress
(これにより、GUIの仮想コネクタを作成するための「dbus」、ユニティデスクトップ用の「Synaptic Package Manager」および「Nautilus」ファイルエクスプローラがインストールされます。
cd /usr/share/dbus-1 && sudo vi session.conf
(session.conf
viエディターで開く場合)
を押しiて挿入モードに入り、追加します
<!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules
追加するより:
<listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
<auth>EXTERNAL</auth>
<auth>DBUS_COOKIE_SHA1</auth>
<auth>allow_anonymous</auth>
ファイルの編集が完了したら、ESCを押し:wq
てファイルを保存します。
次のコマンドを実行して、出力を確認します。
$ export DISPLAY=localhost:0
$ sudo service dbus start
* Starting system message bus dbus [OK]
$ echo $DISPLAY
localhost:0
完了です!Bashからsynaptic、nautilus、またはfirefoxを実行するだけで、Win10デスクトップにロードされます。このようなGUIオプションはバグがありますが、操作可能です。あなたは、インストールすることができubuntu-desktop
、unity
、ccsm
、compiz
および実行しようとUbuntuのためにユニティのデスクトップを。私はまだ「Unreal」を実行するために急いで苦しんでいるので、「スチーム」を設定しようとしませんでした、幸運:)
誰かがgnome-terminal
XTermではなくXServerで実行する方法を知っているなら、共有してください...
PS VcXsrvをWin10ブータブルとして追加
できます
元の投稿で指定された「スチーム」でソースを最大化するには、Windowsを少し調整して、ネットワークパッケージ管理(低レイテンシ)とCPU / GPU優先順位付けを行い、Win10XBoxを作成します…:)
「Unix」の下で「Steam」を実行しますが、シェルは「Windows」のままなので、「Unix」で「Steam」を起動できます…
Tcp Prep :;
regeditで:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
ここで、サブキーのリストを調べて、インターネットへの接続に使用されるネットワークアダプターエントリを見つける必要があります。DHCPを使用している場合は、正しいアダプターを見つけるためにDhcpIPAdddress
(システムデータ値ではない:0.0.0.0
)エントリを探す必要があります。
正しいキーを見つけたら、それを右クリックして、「新規」>「Dword(32ビット)値」を選択します。
TcpFrequencyと名前を付けて、をクリックしますok。
その後、値をダブルクリックして、そのDecimal値を1に設定します(デフォルト設定に戻すには、値を2に変更するかキーを削除します)。次のキーに移動します。 HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ
キーをもう一度右クリックして、[ 新規]> [Dword(32ビット)値 ]を選択します。
新しいパラメーターにTcpDelayという名前を付けます
その後、それをダブルクリックし、そのDecimal値を1に変更します(後の時点でキーを復元するには、0に変更するか、キーを削除します)。
Nagleのアルゴリズムは、いくつかの小さなパケットを単一の大きなパケットに結合して、より効率的な伝送を実現します。これは、データ送信のスループット効率を改善するように設計されています。「ナグリング」を無効にすると、一部のゲームで遅延/ pingを削減できます。Nagleのアルゴリズムは、Windowsでデフォルトで有効になっています。この調整を実装するには、次のレジストリキーを変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
については{NIC-id}
、IPアドレスがリストされているものを探します。この{NIC-id}
キーの下に次のDWORD値を作成します。
注意:
Dota 2とLeague of Legendsをプレイする際の調整によりレイテンシが短縮されたとの報告もありますが、一部では機能しません。Dota 2をプレイすると、試してみて、レイテンシが110ミリ秒から90ミリ秒(SEAサーバー)に改善されました。
Windowsにはネットワークスロットリングメカニズムが実装されています。このようなスロットリングの背後にある考え方は、ネットワークパケットの処理がリソースを消費するタスクになる可能性があるということです。最大のスループットを達成するには、このような調整をオフにすることが有益です。
この調整を実装するには、regeditを実行してレジストリを変更します
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
SystemProfileの下で、DWORD値を作成してNetworkThrottlingIndexという名前を付け、ゲームと最大スループットのために16進値をffffffffに設定します。ffffffffはスロットルを完全に無効にします。
「マルチメディアクラススケジューラ」サービス(MMCSS)を使用するマルチメディアストリーミングおよび一部のゲームは、CPUの80%までしか使用できません。「マルチメディアクラススケジューラ」サービス(MMCSS)は、優先度の低いバックグラウンドアプリケーションに対してCPUリソースを拒否することなく、CPUリソースへの優先アクセスを保証します。
この調整を実装するには、regeditを実行してレジストリキーを変更します
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
そこから、新しいDWORDを作成し、SystemResponsivenessという名前を付けて、純粋なゲーム/ストリーミング用に10進数の値を00000000に設定します。
上記の調整と同じレジストリハイブで、ゲームの優先度を変更することもできます。この調整を実装するには、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games
次のレジストリ値を変更します。
このWindows = Xboxの微調整の作者は、「不明」(私があなたの指示をコピーしてからしばらくはご容赦ください)を応援します...
PPS:XServerがやりたいことで失敗する場合は、Dockerで回避策を見つけてください。
<auth>allow_anonymous</auth>
に<auth>ANONYMOUS</auth>
、その後、service dbus restart
そしてgnome-terminal
動作するはずです
完全なGUIデスクトップ環境はMicrosoftによって「公式に」サポートされていませんが、機能します。
Windowsの機能のオンまたはオフに
Linux用のWindowsサブシステムを有効に
コンピュータの再起動
を起動し、マイクロソフトストア
Ubuntuの検索は
アプリの下のUbuntu 18.04を選択して
取得]をクリックします
Ubuntuのを起動して、インストールを待つ
設定のユーザー名とパスワード
次のコマンドを実行します。
sudo apt-get update -y
sudo apt-get install ubuntu-desktop -y
sudo apt-get install xfce4 xorg xrdp -y
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
.xsessionを作成および変更する
cd /home/user/
sudo vim .xsession
テキストを追加:
gnome-session --session=ubuntu-2d
viを保存して終了する
sudo chmod 755 .xsession
sudo systemctl enable xrdp
Ubuntuで2つ目のアカウントが必要になります
sudo adduser remote
sudo usermod -aG sudo remote
startwm.shを変更します
cd /etc/xrdp
sudo chmod 777 startwm.sh
vim startwm.sh
下の2行をコメントアウトします
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
テキストを追加:
startxfce4
viを保存して終了する
exit
Windowsで、Ubuntuを再起動して実行します:
sudo /etc/init.d/xrdp start
Windowsでmstsc.exe
コンピューターを実行します:127.0.0.1:3390
ユーザー名を空白のままにし
ます接続
セッション:Xorg
ユーザー名:リモート
パスワード:パスワード
xfceをお楽しみください!
完了したら、リモートデスクトップ接続を閉じます
Ubuntuコマンドラインに戻ります
sudo /etc/init.d/xrdp stop
exit
簡単にしたいので... Microsoftストアにx410というアプリがあります。基本的には、Cygwin自体を使用しないCygwin X11サーバーです。割賦後-ゼロ構成-WSL X11アプリを実行できます!(またはデスクトップ全体)。.bashrcに(WSLユーザーアカウントから)次の行を挿入すると、bashターミナルからアプリを実行できます。
### Setup a D-Bus instance that will be shared by all X-Window apps
pidof dbus-launch 1> /dev/null || dbus-launch --exit-with-x11 1> /dev/null 2>
/dev/null
## Export
export DISPLAY=127.0.0.1:0.0
私は約5ユーロでx410を軟膏で購入しました。
簡単な既製のソリューションが必要な場合は、MobaXTermを使用してください。WSLを直接サポートする優れたマルチタブターミナルエミュレーターであり、最適化されたXサーバーが組み込まれています。モバでは常にシナプスを使用しています。RStudioでも。
パンサーの答えを選んだのは、それが唯一だからというだけでなく、それが正しい答えだからでもあります。GUIアプリを実行するための手間のかからない(簡単な)方法はありません。
また、私はこのチュートリアルをいくつかの変更を加えて使用しました。
xfce
なぜデスクトップが必要なのかわからないので、インストールしませんでした。Multiple Windows
でXLaunch
(ノーDE、1つの巨大な窓のために、したがって必要はありません)どのGUIアプリをインストールしましたか?SynapticとCMakeのみ。WSLで必要なものは他に何も考えられないからです。
Pantherが指摘したのとまったく同じ理由で、VM / Dual Bootを実行しません。完全なフレックスOSではなく、便利な(私にとって)開発環境が必要です。
私の研究に基づいて、wslはもともとGUIユーザー向けには設計されていませんでした。ただし、サードパーティからXサーバーをインストールしてGUIを表示できます。Debian Linux-desktopを表示するために、VcXsrvが適切にセットアップされていることをテストしました。
私のアプローチはスムーズに動作し、WindowsサブシステムLinux Debianでmate-desktop(GUI)を表示すると思います。mate-desktop(GUI)をwsl Debianにゼロからインストールして表示する方法に関するビデオを作成しました。リンク:https : //youtu.be/QjogEWudpaM
Ubuntuでのmate-desktopのインストールはわずかに異なります。
ステップ1:wslをインストールする
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
ステップ2:メイトデスクトップなどのグラフィックユーザーインターフェースをインストールします。
用Debianのユーザー:
sudo apt-get update
。sudo apt install task-mate-desktop
入力してEnterキーを押します。またはUbuntuユーザーの場合:
sudo apt install tasksel
、Enterキーを押しますsudo apt update
、Enterキーを押しますsudo tasksel install ubuntu-mate-desktop
、Enterキーを押しますステップ3:Windows 10にXサーバーをインストールします。VcXsrvと呼ばれるオープンソースサーバーを使用しました。https://sourceforge.net/projects/vcxsrv/からダウンロードできます。
インストールが完了したら:
Windows 10でXLauchを開く
次のセットアップを実行します。
"One large window"
Display number: 0
next
Start no client
next
finish
ステップ4:Linuxコンソールでセットアップします。
タイプ export DISPLAY=:0
タイプexport LIBGL_ALWAYS_INDIRECT=1
(この賞賛は必要ないかもしれません)
ステップ5:mate-desktop GUIを表示します。
タイプmate-session
のためのDebianユーザー
タイプmate-session
またはlightdm-session
のためのUbuntuのユーザー
私の説明について混乱した場合は、YouTubeビデオをチェックして、GUI(mate desktop)をMicrosoft Windows Subsystem Linuxにインストールしてください。
sudo service ssh start
ssh -Y 10.0.2.2
通常、VirtualBoxゲストのホストには10.0.2.2でアクセスできます。
これで、シームレスなWindowsであっても、FedoraデスクトップでWSL Xプログラムを実行できます。