01signal.com

Windows コンピューターで Linux desktop を使用する

この Web ページは、Smart Zynq ボードの機能を調査する小規模プロジェクトのグループに属しています。

このプロジェクトは HelloFPGAにも掲載されており、中国の読者にお勧めします。このページで説明されている方法を示す短いビデオもあります。

序章

Linux コンピュータでは、グラフィック ソフトウェアが別のコンピュータ上の window を開く可能性があります。言い換えれば、ソフトウェア (たとえば、 Google Chrome) は 1 台のコンピュータ上で実行できますが、このソフトウェアのユーザーは別のコンピュータの前に座っています。 Windows にも同様のソリューションがありますが、これらのソリューションは通常、悪いユーザー エクスペリエンスを提供します。 Linux は、離れた場所から作業するのに非常に適しています。

ユーザーは通常、自分のコンピューターまたはラップトップで作業するため、この機能はあまり使用されません。ただし、コンピュータにモニタが接続されていない場合には、この機能が役立つことがあります。

このチュートリアルでは、マウス、キーボード、およびモニターを Windows コンピューターに接続するために、 Xillinux でグラフィック ソフトウェアを実行する方法について説明します。

X server

Linux desktop のベースは X-windowsです。これは非常に古いソフトウェアですが、現在でも問題なく動作します。 Windows コンピュータとは異なり、グラフィカル インターフェイスは X serverに基づいています。これは、 TCP/IP serverを実装する通常のコンピューター プログラム ( user spaceで実行) です。このサーバーは通常、 port 6000をリッスンします。コンピュータの画面に window を表示するプログラムは、 TCP/IP経由でこのサーバーに接続します。すべてのグラフィック情報は、この TCP/IP 接続を通じて送信されます。ユーザーのキーボード ストロークやマウスの動きも、この接続を通じて送信されます。

window を制御するプログラムは、同じコンピュータ上で実行することも、別のコンピュータから実行することもできます。接続は TCP/IPに基づいているため、これは問題ではありません。

現在のほとんどの Linux コンピュータでは、別のコンピュータから TCP/IP を介して X server に直接接続することはできません。セキュリティ上の懸念のため、この機能はオフになっています。さらに、2 台の Linux コンピュータ間でこのような接続を確立するための安全な代替手段があります。 「ssh -X」。それにもかかわらず、 Linux コンピュータ上で実行されるグラフィック プログラムは通常、別のコンピュータのディスプレイに接続できます。

したがって、 Windows コンピュータ上で X server を実行すると便利です。この X server を使用すると、別のコンピュータ上で実行されるプログラムが Windows コンピュータ上で GUI インターフェイスを表示できるようになります。 2 つのオプションを提示します。 最初に、完全な Linux desktop が Windows コンピュータ上に表示されます。次のステップでは、 Linux コンピュータ上で実行されるコンピュータ プログラムに属する window を 1 つだけ提示します。

準備

まず、 vcxsrvをダウンロードしてインストールします。インストール手順は、 Windows アプリケーションの場合と同じです。

次の手順では、 Windowsを実行するコンピューターの IP address を見つけます。 次のように Command Prompt 内で ipconfig を使用します。

> ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 192.168.1.11
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.3

次のステップは、 Windows Defender Firewallをオフにすることです。そうしないと、 Xillinux 上で実行されるコンピュータ プログラムは X serverに接続できなくなります。実際、 Xillinux から ping でも失敗します。

firewall の電源をオフにすると、コンピュータがネットワークからの攻撃に対して脆弱になるのは明らかです。したがって、これを実行する前に、コンピュータ ネットワークが外部 firewall によって保護されているかどうかを検討することをお勧めします。

「Turn Windows Defender Firewall on and off」に進みます。

Turning off Windows Defender Firewall, stage 1

次に、ファイアウォールをオフにします。

Turning off Windows Defender Firewall, stage 2

firewall の電源をオフにした後、 Xillinux board が Windows コンピュータに接続できることを確認します。たとえば、 Xillinuxで ping を試してみます。

root@localhost:~# ping 192.168.1.11
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data.
64 bytes from 192.168.1.11: icmp_seq=1 ttl=128 time=0.797 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=128 time=0.790 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=128 time=0.782 ms
^C
--- 192.168.1.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.782/0.789/0.797/0.033 ms

Windows上で Linux desktop を実行する

vcxsrvを起動するには、 XLaunchという名前のアイコンをクリックします。

最初の pop-up windowでは:

vcxsrv's first popup window

2 台目の pop-up windowでは: 「Start no client」を選択します。

vcxsrv's second popup window

3 台目の pop-up windowでは: 「disable access control」を選択します。これにより Xillinux boardから接続できるようになります。

vcxsrv's third popup window

これら 3 つの pop-up windowsの後に、 vcxsrv は大きくて空の windowを開きます。この window はすべてが黒です。

ここで、この大きな window を Xillinuxの desktopで埋めていきます。 shell の Xillinux boardで次のように入力します。

root@localhost:~# DISPLAY=192.168.1.11:0 /etc/X11/Xsession

このコマンドの数秒後、グラフィカル デスクトップが Windows コンピュータに表示されます。

ssh を使用して desktopを起動することも可能です。例えば Xillinux boardの IP address が 192.168.1.123になったとします。このコマンドは、 Command Prompt window ( Windows コンピュータ上) で使用できます。

> ssh root@192.168.1.123 "DISPLAY=192.168.1.11:0 /etc/X11/Xsession"

sshを使用する前に root user のパスワードを設定する必要があります。

vcxsrvの window 内で Copy を使用し、通常の Windows ウィンドウで Paste を使用することが可能であることに注意してください。逆の場合も同様です。

「/etc/X11/Xsession」は desktopを起動するコマンドです。 「DISPLAY=192.168.1.11:0」は environment variableに値を割り当てます。これは、プログラムにリモート コンピューターに接続するように指示します。

DISPLAY の割り当ては 2 つの部分で構成されます。最初の部分は IP address (この例では192.168.1.11 ) です。 2つ目は Display Numberです。 vcxsrvを開始したときに、 Display Number が 0として選択されたことを思い出してください。これが、 DISPLAY の 2 番目の部分が「:0」である理由です。これにより、 TCP client が port 6000に接続するように指示されます。別の Display Numberを選択した場合は、それに応じて DISPLAY を変更する必要があります。たとえば、 Display Number が 5 の場合、 DISPLAY は代わりに「192.168.1.11:5」にする必要があります。この状況では、 TCP client は port 6005 への接続を試みます。

Windows上で単一の Linux window を開く

ここで、 Xillinux上でグラフィカル コンピュータ プログラムを実行して、 Windows コンピュータ上で window を開く方法を説明します。

以前と同じように vcxsrv を起動しますが、1 つ違いがあります。 One Large Windowを選択する代わりに、 Multiple Windowsを選択してください。この違いを除いて、前と同じ選択をしてください。

vcxsrv's first popup window, multiple windows

以前とは異なり、3 つの pop-up windowsの後に新しい window がオープンすることはありません。設定が完了すると、何も起こっていないかのように見えます。しかし、これは誤解を招きます。 X server は実行中であり、リクエストを待っています。

たとえば、 Xillinuxでこれを試してください。

root@localhost:~# DISPLAY=192.168.1.11:0 gnome-text-editor &

これにより、 Windows コンピュータ上でテキスト エディタが起動します。 terminal windowを起動することもできます。

root@localhost:~# DISPLAY=192.168.1.11:0 lxterminal &

この方法で terminal windows を開くと、次のような利点があります。 「DISPLAY=192.168.1.11:0」部分を追加する必要はなくなりました。 これは、この terminalで開始されるすべてのコマンドのデフォルトです。

前に述べたように、 ssh経由でコマンドを送信することができます。 terminal windowを起動するには、 Windowsの Command Prompt で次のように入力します。

> ssh root@192.168.1.123 "DISPLAY=192.168.1.11:0 lxterminal"

前と同様に、この例では Xillinux boardの IP address が 192.168.1.123であると仮定しています。

残念ながら、 X serverをシャットダウンする簡単な方法はないようです。 X server がこのモードで実行される場合、プログラムを表す window は存在しません。したがって、 server を停止する方法は、 Task Managerを使用することです。 「VcXsrv windows xserver」という名前のタスクを見つけて、「End Task」をクリックします。

このページは英語から自動翻訳されています。 不明な点は元のページを参照してください。
Copyright © 2021-2024. All rights reserved. (6f913017)