私は周りを検索しましたが、現在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)ため、ここではコピーしませんでした。一部のアプリは、この手法でも動作しないことが予想されます。
WSL(Windows 10 Subsystem for Linux)でVcXsrv
を使用することにしました。 Windows 10 Ubuntu 16.04でグラフィカルユーザーインターフェイス(GUI)をサポートするためにいずれかを選択する前に、xming
(受け入れられた答え)と VcXsrv の間で誰もが調査を行うことをお勧めします。
インストールは簡単です。 2019年3月17日の時点で、デフォルトをそのまま受け入れることができます。 Bashシェル/ターミナル内からgedit
を呼び出す場合は、~/.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アプリケーションをインストールできました。
WSLVcXsrv内でUbuntu bashスクリプトの多くを試してみたい場合は、zenity
およびyad
x-windowsをインストールする必要がありますユーザー入力用のダイアログボックスが表示されます。
他の人がWSL内のGUIは完璧ではないと指摘しているように、いくつかの問題を解決するのに時間を費やすことが期待できます。また、一部のGUIソフトウェアはWSLで機能しません。
GUIドロップダウンメニューを調整するために/etc/environment
を変更しました。
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デュアルブートの両方で使用されるスクリプトを保存する場所であるため、通常とは異なるパスです。ほとんどのユーザーは、マシンにこれを含めません。Windows(Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft)上のUbuntuで、Win 10 BashでVcXsrvを使用して非常に良い経験をしました。 Unityデスクトップは役に立たず、リソースを消費するため、実行に集中しませんでした。 XServerを使用して、Windows10デスクトップからGUIモードでbashからアプリを実行しただけです。
ここではSourceforge からVcXsrvをインストールします
VcXsrvアプリを直接実行し、XLaunchを起動しないでください。 Win10タスクバーのアイコンにカーソルを合わせると、localhost:0.0 - 0 clients
が表示されます
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
をインストールして、nity Desktop for Ubuntを実行してみてください。私はまだ「Unreal」を実行するために急いで苦しんでいるので、「スチーム」を設定しようとしませんでした、幸運:)
誰かがXTermではなくXServerでgnome-terminal
を実行する方法を知っている場合は共有してください...
追伸
次のことができます VcXsrvをWin10ブータブルとして追加
元の投稿で指定されている「スチーム」でソースを最大化するには、Windowsを少し調整してネットワークパッケージ管理(低レイテンシ)とCPU/GPU優先順位付けを行い、Win10XBoxを作成します…:)
「Unix」の下で「Steam」を実行しますが、シェルは「Unix」で「Steam」を起動できる「Windows」のままです。
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のアルゴリズムは、複数の小さなパケットを1つの大きなパケットに結合して、より効率的な送信を実現します。これは、データ送信のスループット効率を改善するように設計されています。 「ナグリング」を無効にすると、一部のゲームで遅延/ 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に設定します。
上記のTweakと同じレジストリハイブで、ゲームの優先度を変更することもできます。この調整を実装するには、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games
次のレジストリ値を変更します。
このWindows = Xbox Tweakの著者である「不明」(私があなたの指示をコピーしてからしばらくはご容赦ください)を応援します...
PPS:XServerがやりたいことで失敗する場合は、Dockerで回避策を見つけてください。
完全なGUIデスクトップ環境はMicrosoftによって「公式に」サポートされていませんが、機能します。
Windowsの機能をオンまたはオフにします
Linux用のWindowsサブシステムを有効にする
コンピューターを再起動
Microsoftストアを起動します
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
ユーザー名:リモート
password:パスワード
Xfceをお楽しみください!
完了したら、リモートデスクトップ接続を閉じます
Ubuntuコマンドラインに戻る
Sudo /etc/init.d/xrdp stop
exit
簡単にしたいので... Microsoft Storeに x41 というアプリがあります。基本的には、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を軟膏で買いました。多すぎる場合は、おそらく販売を待ってください。
パンサーの答えを選んだのは、それが唯一だからというだけでなく、それが正しい答えだからです。 GUIアプリを実行するための簡単な(簡単な)方法はありません。
また、私は this チュートリアルを使用し、いくつかの変更を加えました。
xfce
をインストールしませんでした。XLaunch
でMultiple Windows
を選択します(DEがないため、1つの巨大なウィンドウは不要です)どのGUIアプリをインストールしましたか? SynapticとCMakeのみ。WSLで必要なものは他に何も考えられないからです。
Pantherが指摘したのと同じ理由で、VM/Dual Bootを実行しません。完全なFlex OSではなく、便利な(私にとって)開発環境が必要です。
簡単な既製のソリューションが必要な場合は、 MobaXTerm を使用します。 WSLを直接サポートする優れたマルチタブターミナルエミュレーターであり、最適化されたXサーバーが組み込まれています。モバでは常にシナプスを使用しています。 RStudioでも。
Sudo service ssh start
でssh -Y 10.0.2.2
を実行します通常、VirtualBoxゲストのホスト 10.0.2.2で到達可能
これで、シームレスなWindowsであっても、FedoraデスクトップでWSL Xプログラムを実行できます。