VNCは、ネットワーク接続を介して(リモートまたはローカル)コンピューターのデスクトップに接続して制御するためのデスクトップ共有アプリケーション(仮想ネットワークコンピューティング)です。
ただし、Linuxシステムでは、多くのVNCサーバーアプリケーションは仮想デスクトップへの接続のみを許可し、実際のデスクトップへの接続は許可しません。このハウツーは、TigerVNCサーバーを介してLinuxデスクトップ上の実際のアクティブなセッションに接続するためのソリューションを提供します。
- 完全に機能するLinuxデスクトップ環境
- ルート権限(TigerVNCサーバーをインストールするため)
- Linuxシェルの基本的な知識
最新のパッケージを入手するには、更新することをお勧めします。
[メール保護]:〜$ sudo apt-get update
このハウツーは、Debian / GNU Linux 9.5(ストレッチ)とUbuntu18.04でテストされました
TigerVNCをインストール
まず、TigerVNCサーバーをインストールする必要があります。
[メール保護]:〜$ sudo apt-get install tigervnc-scraping-server
ほとんどのDebianベースのシステムには、tigervnc-scraping-serverと呼ばれる小さなパッケージがあり、これをインストールする必要があることに注意してください。仮想デスクトップにも接続する場合にのみ、実行中のデスクトップセッションに接続する機能を使用するために、メインのTigerVNCサーバー(パッケージ名:tigervnc-standalone-server)をインストールする必要はありません。
TigerVNCサーバーは、アクティブなセッションへのアクセスを許可するための小さなアプリケーション(x0vncserver)を提供します。
次に、自宅に.vncディレクトリを作成します。
[メール保護]:〜$ mkdir -p〜/ .vnc
vncセッションのパスワードを作成します:
[メール保護]:〜$ vncpasswd
パスワード:
確認:
表示専用のパスワード(y / n)を入力しますか? n
VNCサーバーの起動
x0vncserverの簡単な説明:
x0tigervncserverはTigerVNCサーバーであり、VNC、TigerVNC、または互換性のあるビューアを介してXディスプレイにリモートアクセスできます。 Xvnc(1)とは異なり、仮想ディスプレイは作成されません。代わりに、既存のXサーバー(通常、物理画面に接続されているサーバー)を共有するだけです。
コンピューターにTigerVNCサーバーが正常にインストールされ、vncpasswdコマンドでパスワードが作成されたので、vncサーバーの起動を開始できます。アクティブなセッションに参加していることを確認し、(ユーザーとして)次のように記述します。
[メール保護]:〜$ x0vncserver -passwordfile〜/ .vnc / passwd -display:0
2018年10月10日水曜日22:17:16
ジオメトリ:デスクトップジオメトリが設定されています〜1920x1080 + 0 + 0
メイン:XTest拡張機能が存在します-バージョン2.2
メイン:ポート5900でリッスンしています
オプション-passwordfile〜/ .vnc / passwd vncpasswdで以前に作成したパスワードファイルを読み取ります 指図。 2番目のオプション-display:0 つまり、ディスプレイのセッションに接続することを意味します:0、通常はアクティブなセッションです。
これで、デフォルトのvncポート5900で任意のvncビューアアプリケーションを使用して実際のデスクトップにアクセスできます。
Ctrl-cを押すと、いつでもこのプロセスを停止できます。
バックグラウンドで実行する場合は、次のように入力します。
[メール保護]:〜$ x0vncserver -passwordfile〜/ .vnc / passwd -display:0> / dev / null 2>&1&
これで、すべての出力標準出力とエラーが/ dev / nullにリダイレクトされ、最後に&が付いた状態でバックグラウンドで実行されます。ただし、Ctrl-cを押してvncサーバーを停止することはできなくなります。代わりに、プロセスIDを強制終了する必要があります(以下の「vncサーバーの停止」のセクションを参照)。
その他のオプションと構文については、x0vncserverのマニュアルを確認してください。
VNCサーバーを停止しています
vncサーバーがバックグラウンドで実行されている場合、それを停止するには、プロセスIDを知っている必要があります。
[メール保護]:〜$ ps -fu user | grep [x] 0vncserver
user 1328 1 0 23:11 pts / 2 00:00:00 /usr/bin/x0vncserver -display:0 -passwordfile /home/user/.vnc/passwd -rfbport 5900
出力は次のようになります。pid1328に注意してください。vncサーバーを停止するには、このプロセスを「強制終了」する必要があります。
[メール保護]:〜$ kill -9 1328
killコマンドのオプション-9は、プロセスIDにKILLシグナルを送信して、プロセスIDが確実に停止するようにします。
VNCサーバーを実行するためのスクリプト
githubにx0vncserverアプリケーションを起動および停止するためのスクリプトがあります。テストの目的で、psmiscパッケージもダウンロードします。
[メール保護]:〜$ sudo apt-get install git psmisc
次に、gitコマンドを使用してstartvncスクリプトをダウンロードします。
[メール保護]:〜$ git clone https://github.com/sebestyenistvan/runvncserver
'runvncserver'へのクローン作成...
リモート:オブジェクトの列挙:77、完了。
リモート:オブジェクトのカウント:100%(77/77)、完了。
リモート:オブジェクトの圧縮:100%(57/57)、完了。
リモート:合計77(デルタ25)、再利用60(デルタ18)、パック再利用0
オブジェクトの解凍:100%(77/77)、完了。
出力は上記のようになります。
startvncスクリプトをrunvncserverディレクトリから自宅にコピーします。
[メール保護]:〜$ cp〜/ runvncserver / startvnc〜
スクリプトを実行するには、権限を実行可能ファイルに変更します。
[メール保護]:〜$ chmod + x〜/ startvnc
次に、スクリプトを実行します。
[メール保護]:〜$ ./startvnc
使用法:./ startvnc start | stop | restart | status
このスクリプトは、ホームに.vncディレクトリがあり、vncpasswdを作成した場合にのみ機能します(〜/ .vnc / passwdファイルをチェックします)。以前に.vncディレクトリとパスワードを作成しました。
実際のディスプレイでvncサーバーを起動するには、次のように入力します。
[メール保護]:〜$ ./startvnc start
ディスプレイでVNCサーバーを起動しています:0 [ok]
次のオプションを使用してvncサーバーが実行されているかどうかをテストできます:
[メール保護]:〜$ ./startvnc status
VNCサーバーのステータス:[実行中](pid:1328)
いくつかの例:
または、(psmiscパッケージの)fuserコマンドを使用してシステムの5900TCPポートを確認します。
[email protected]:〜$ fuser -vn tcp 5900
USERPIDアクセスコマンド
5900 / tcp:user user > 0 vncサーバーがポート5900で実行されている場合は、次のような出力が得られます。
このスクリプトの詳細については、readmeファイルを参照してください:
[メール保護]:〜$ less runvncserver / README.mdスクリプトは、出力が保存されるログファイルを作成します。何か問題が発生した場合、またはx0vncserverを起動または停止できない場合は、〜/ .vnc / logfile
の下のログファイルを確認してください。VNCサーバーを自動的に起動します
アクティブデスクトップセッションに自動的にアクセスする場合は、ホームディレクトリの.xsessionrcファイルを編集する必要があります。
[メール保護]:〜$ echo "/ home / user / startvnc start> / dev / null 2>&1">>〜/ .xsessionrcユーザーをユーザー名に置き換えると、Xセッションの開始時に自動的に実行されます。スクリプトはそのアクティビティを〜/ .vnc / logfileに記録します。問題が発生した場合は、そこでログファイルを確認できます。
メモ このチュートリアルでは、VNC仮想デスクトップのセットアップについては扱いません。
セキュリティ x0vncserverはデフォルトで暗号化を使用しないことに注意してください。したがって、インターネット上で慎重に使用してください。リモートで使用する場合は、ssh経由でトンネリングできます。ただし、VNCセッションを暗号化するための解決策を見つけることができる他のハウツーがあります。
または、ssvncパッケージを確認することもできます。
VNCビューア
VNCビューアを探している場合は、たとえば次のようにたくさんあります。
- gvncviewer
- tigervnc-viewer
- xtightvncviewer
- xvnc4viewer
ジオメトリ 実際のディスプレイのx0vncserverは、:0ディスプレイで実行中のデスクトップと同じジオメトリを使用します。したがって、-geometryオプションを小さいサイズに設定すると、スケーリングされず、デスクトップサイズの一部が表示されます。
フィードバック フィードバックをお気軽に書いてください。このチュートリアルまたは別のシステムでスクリプトをテストした場合。
Linux