CentOS7でのVNCサーバーリモートデスクトップ構成の詳細説明

VNC:VNC(Virtual Network Computing)は、RFBプロトコルを使用した画面共有およびリモート操作ソフトウェアです。このソフトウェアは、キーボードとマウスのアクションとリアルタイムの画面イメージをネットワーク経由で送信できます。VNCはオペレーティングシステムとは何の関係もないため、たとえば、Windowsを使用してLinuxコンピューターに接続したり、その逆を行ったりすることができます。クライアントプログラムがインストールされていないパソコンでも、JAVAに対応したブラウザさえあればご利用いただけます。VNCには、クライアントとサーバーの2つのオペレーティングソフトウェアが含まれています。
VNCサーバー:VNCサーバーはVNCビューアーの接続要求を受信し、画面をクライアントに転送します。この例では、VNC Server
VNC Viewer をCentOS7にインストールする必要があります。VNC クライアントは、キーボードとマウスのアクションをサーバーに転送します。この例では、WindowsにViewerをインストールして、リモートLinuxサーバーに接続する必要があります。

1.現在のシステムにデスクトップ環境がない場合は、最初にデスクトップ環境をインストールする必要があります。
1.システムを更新する
---------------------------------------------- -----------------------------------------------
[root @ CentOS7〜]#yum update ##システムでの予期しないエラーを回避するには、yumを最新に更新することをお勧めします。本番環境でビジネスが実行されているため、更新することはお勧めしません
------------------ -------------------------------------------------- -------------------------

2. GNOMEデスクトップグラフィカルデスクトップサービスをインストールします
------------------------------------------ -------------------------------------------------- -
[root @ CentOS7〜]#yum groupinstall "GNOMEデスクトップ"
------------------------------------ -------------------------------------------------- -------

3.システムの動作モードを確認します
-------------------------------------------- -------------------------------------------------
[ root @ CentOS7〜]#systemctl get-default
---------------------------------------- -------------------------------------------------- ---

4.デスクトップ操作モードに切り替えます
------------------------------------- --------------------------------------------------
[root @ CentOS7〜]#systemctl set-default graphic.target
------------------------------------ -------------------------------------------------- -------

5.デスクトップモードを開始します
--------------------------------------------- ------------------------------------------------
[ルート@ CentOS7〜]#init 5
------------------------------------------- --------------------------------------------------


2. VNC設定

1. vncをインストールします。CentOS7はデフォルトでtigervncソフトウェアを使用してvncサービスを提供します
------------------------------------- -------------------------------------------------- ------
[root @ CentOS7〜]#yum install tigervnc-server
-------------------------------- -------------------------------------------------- -----------

2. VNCサービス
開始します。vncserverコマンドを使用してVNCサービスを開始します。コマンドの形式は「vncserver:デスクトップ番号」です。「デスクトップ番号」は「番号」で表され、各ユーザー接続は1つのデスクトップ
起動番号1デスクトップを占有する必要があります以下に例を示します
。------------------------------------------------ ---------------------------------------------
[laopi @ CentOS7〜 ] $ vncserver:1

デスクトップにアクセスするにはパスワードが必要です。

パスワード:## vncパスワードにログインします。vncpasswdコマンドを使用して、今後パスワードを変更できます
確認:## vncパスワードを再
入力します表示専用パスワード(y / n)を入力しますか?N ##ユーザーのみを表示しますか?パスワード、ここでは設定されていません
表示専用パスワードは使用されていません

新しい「CentOS77:1(laopi)」デスクトップはCentOS7:1です。

デフォルトの起動スクリプト/home/laopi/.vnc/xstartupの
作成デフォルトの構成/home/laopi/.vnc/configの作成/home/laopi/.vnc/xstartupで
指定されたアプリケーションの起動
ログファイルは/home/laopi/.vnc/CentOS7です:1.log
---------------------------------------------- -----------------------------------------------
コマンドの実行リモートでログインする必要があるlaopiユーザーの下で実行されます。これも初めてです。.vncサブディレクトリと対応する構成ファイルがユーザーのホームディレクトリ(/ home / laopi /)に生成され、パスワードが必要です( vncviewerエンドはこのユーザーのアクセスパスワードを使用します)、このパスワードは暗号化され、.vncサブディレクトリ(/home/laopi/.vnc/passwd)のユーザーのホームディレクトリに保存されます。同時に、.vncサブディレクトリのユーザーのホームディレクトリにも保存されます。 xstartup構成ファイル(/home/laopi/.vnc/xstartup)はユーザー用に自動的に作成され、このファイルの構成情報はVNCサービスが開始されるたびに読み取られます。上記は、VNCを介して通常のユーザーのアクセス権を追加するものです。他のユーザーのアクセス権を追加する場合は、対応するユーザーコマンドプロンプトで上記の操作を実行する必要があります(テストユーザーも[test @ localhost〜] $ vncserver:1を実行する必要があります)対応するメインディレクトリの下に対応する.vncサブディレクトリを生成します)。異なるユーザーのアクセスパスワードの変更は、対応するコマンドプロンプトでも操作する必要があります。
また、/ home / laopi / .vnc /ディレクトリに「CentOS7:1.pid」ファイルがあります。このファイルは、VNCの起動後に対応するオペレーティングシステムのプロセス番号を記録します。VNCサービスを停止するときにプロセス番号を正確に見つけるために使用されます。

3.
VNCサービスが使用するポート番号とデスクトップ番号の関係VNCサービスが使用するポート番号は、デスクトップ番号と関連があり、VNCは、5900から始まるTCPポートを使用します。対応関係は、以下のとおりです。
デスクトップ番号は「1」----ポート番号は5901
デスクトップ番号「2」----ポート番号は5902である
デスクトップ数が「3」----ポート番号は5903さ
.......
上記の説明に基づいて、Linuxのオープンファイアウォール機能場合は、手動で開く必要があります対応するポート。

4.ファイアウォールの設定。ここでは、失礼にファイアウォールをオフにします

-------------------------------------------------- -------------------------------------------
[laopi @ CentOS7〜]# systemctl stop firewalld.service ##ファイアウォールを停止します
[laopi @ CentOS7〜]#systemctl disable firewalld.service ##ファイアウォールの起動を禁止します

-------------------------------------------------- -------------------------------------------

5. RealVNC Viewerクライアントソフトウェアを介してVNCサービスをテストする

ログイン情報を設定する

ログイン

 

ログインに成功したら、システムのユーザー名とパスワードを入力してログインします

 

3、複数のデスクトップ
構成するには、次の方法を使用して複数のデスクトップを起動できますVNC
vncserver:1
vncserver:2
vncserver:3
......
しかし、この手動起動方法はサーバーの再起動後に無効になるため、ここでシステムを作成する方法を示しますSystemdユニットファイルを作成することにより、複数のデスクトップのVNCを自動的に管理します。ファイル
の形式は次のとおりです:vncserver @:デスクトップ番号。サービス、ユニットファイルはサービスのクイックスタート、停止、再起動に便利です

1. laopiユーザー用のSystemd Unitファイルを作成します。(最初のユーザーvncserver @:1.service、2番目のユーザーvncserver @:2.serviceなど)、テンプレートファイルをコピーして作成できます
-------------- -------------------------------------------------- -----------------------------
[root @ CentOS7〜]#cp /lib/systemd/system/[email protected] / etc /systemd/system/vncserver@:1.service ## rootユーザーの操作が必要
--------------------------------- -------------------------------------------------- ----------

3. /etc/systemd/system/vncserver@:1.serviceファイルを変更します。コピーされたファイルはテンプレートファイルです。ファイル内の<user>を、ログインが必要なユーザーに置き換えます。ここでは、タイプがデフォルトのforkからsimpleに変更されています。後で起動を変更しないと、エラーが発生します
------------------------------------------ -------------------------------------------------- -
[user1 @ localhost〜] $ vim /etc/systemd/system/vncserver\@\:1.service
[Unit]
Description =リモートデスクトップサービス(VNC)
After = syslog.target network.target
[Service]
Type = simple#
#ここで、フォークは単純なExecStartPre = / bin / sh -c '/ usr / bin / vncserver -kill%i> / dev / null 2>&1 ||:'
ExecStart = / usr / sbin / runuser -l laopi-に変更されますc "/ usr / bin / vncserver%i" ##ここで<user>は、laopi
PIDFile = / home / laopi / .vnc /%H%i.pid にログインする必要があるユーザーに変更されます##ここでは<user>になりますlaopiにログインする必要があるユーザーに変更します
ExecStop = / bin / sh -c '/ usr / bin / vncserver -kill%i> / dev / null 2>&1 || : '
[インストール]
WantedBy = multi-user.target
-------------------------------------- -------------------------------------------------- -----

3、刷新systemctl
---------------------------------------------- -----------------------------------------------
[root @ CentOS7〜]#systemctl daemon-reload
------------------------------------------ -------------------------------------------------- -

4.サービスを開始します
---------------------------------------------- -----------------------------------------------
[root @ CentOS7〜]#systemctl start vncserver @:1.service #Start
------------------------------------ -------------------------------------------------- -------
サーバーが次のように起動に失敗した場合:
[root @ CentOS7〜]#systemctl start vncserver @:1.service vncserver @:1.serviceの
ジョブは、構成されたリソース制限を超えたために失敗しました。 systemctl status vncserver @:詳細は1.service "and" journalctl -xe "
-------------------------------- -------------------------------------------------- -----------
上記のエラーは、タイプがデフォルトのフォークからシンプルに変更されていない可能性が高く、変更後にサービスを再起動し、使いづらくなったら数回再起動します。半日、多くの記事ではこれを変更する必要はありませんが、私はこのオプションを使用するためにCentOS 7.7でのみこのオプションを変更しました。理由がわかりません。
この方法は解決されました:/tmp/.X11-unix/ディレクトリーを削除して再度有効にしますこれは検証されていない単なるレコードです。

5.サービスを開始するように設定します
-------------------------------------------- -------------------------------------------------
[ root @ CentOS7〜]#systemctl enable vncserver @:1.service
------------------------------------ -------------------------------------------------- -------

6.共通オプション
---------------------------------------------- -----------------------------------------------
systemctl stop vncserver @:1.service #Close
systemctl restart vncserver @:1.service #Restart
--------------------------------- -------------------------------------------------- ----------

7.サーバーのステータスを表示する

 

上記の状態は正常です。正常でない場合は確認してください

 

注:上記の構成が完了したら、システムを再起動します。vncserver@:1.serviceのサービスをよく見ると、ステータスは異常ですが、接続はまだ利用できます。サービスを再起動した後、ステータスは正常です。理由はわかりません。フォントエラー

 

 

 参照:

http://blog.itpub.net/31559985/viewspace-2674525/

https://blog.51cto.com/shaonian/2090283

 

おすすめ

転載: www.cnblogs.com/pipci/p/12731317.html
おすすめ