MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - VNCのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - VNC
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == VNC(Virtual Network Computing)は、ネットワーク上のコンピュータを遠隔操作するためのデファクトスタンダードなソフトウェアである。<br> VNCは、様々なOSで開発されているため、インストールされているPCはOSの種類に関係なく操作することができる。<br> <br><br> == VNCサーバのインストール == ==== Windows ==== [https://www.realvnc.com/en/connect/download/vnc/windows/ VNCの公式Webサイト]にアクセスして、VNCサーバ(EXE x86/x64)をダウンロードする。<br> ダウンロードしたVNCサーバをダブルクリックして表示される画面通りにインストールする。<br> <br> ==== RHEL ==== 以下のコマンドを実行して、VNCサーバをインストールする。<br> sudo dnf install tigervnc-server <br> Firewalldを有効にしている場合は、VNCサービスの許可が必要となる。<br> sudo firewall-cmd --permanent --add-service=vnc-server sudo firewall-cmd --reload <br> VNC接続を設定したい任意のユーザでログインして、VNCパスワードを設定した後に、VNCサーバを起動する。<br> # VNC用パスワード設定 sudo vncpasswd Password: <- パスワードを設定する Verify: <- 確認のため再度パスワードを入力する <br> 次に、ディスプレイ番号:1、解像度:1024x768、色深度:24でVNCサーバを起動する。<br> sudo vncserver :1 -geometry 1024x768 -depth 24 <br> 起動したVNCプロセスを停止する場合は、ディスプレイ番号を指定して停止する。<br> sudo vncserver -kill :1 <br> ==== SUSE ==== ===== 標準のVNCサーバの使用 ===== SUSEにおいて、XDMCPプロトコルをサポートするディスプレイマネージャを使用している場合にのみ、VNC接続ができる。<br> * GNOMEを使用している場合 *# [YaST2] - [ネットワークサービス] - [Remote Administoration(VNC)]を選択して、以下の2項目の設定を行う。 *:* [セッション管理機能付きのリモート管理を許可する]ボタンにチェックを入力する。<br> *:* [ファイアーウォールでポートを開く]チェックボックスにチェックを入力する。<br> *: <br> * KDEを使用している場合 *: gdm、lxdm、lightdmはXDMCPをサポートしているが、KDE 5標準のディスプレイマネージャsddmはXDMCPをサポートしていないので、真っ黒な画面になる。<br> *: <br> *# まず、[YaST2] - [Alternatives] - [default-displaymanager]項目にフォーカスを当てて[編集]ボタンを押下する。 *# 編集画面にて、LightDMを選択する。 *# 次に、VNCサーバをセットアップする。<br>[YaST2] - [ネットワークサービス] - [Remote Administoration(VNC)]を選択して、以下の2項目の設定を行う。 *#* [セッション管理機能付きのリモート管理を許可する]ボタンにチェックを入力する。<br> *#* [ファイアーウォールでポートを開く]チェックボックスにチェックを入力する。<br> <br> ===== XRDPの使用 ===== ここでは、GNOMEを使用しているものとする。<br> まず、XRDPをインストールする。<br> sudo zypper install xrdp <br> XRDPの状態を確認する場合は、以下のコマンドを実行する。<br> sudo systemctl status xrdp または ss –atnp | grep 3389 <br> 次に、XRDPの設定ファイルである/etc/xrdp/xrdp.iniファイルにおいて、最下行に以下の設定を追記する。 この設定ファイルでは、セキュリティやリスニングアドレス等のグローバル構成の設定を行うことができる。 また、様々なXRDPログインセッションを作成することもできる。 # /etc/xrdp/xrdp.iniファイル ・ ・ ・ exec gnome-session <br> 上記の行を追加した後、XRDPサービスを再起動する。 sudo systemctl restart xrdp <br> 必要なら、XRDPの自動起動を有効にする。<br> sudo systemctl enable xrdp <br> XRDPは、TCPポートの3389番ポートで動作するため、ファイアウォールのポート開放を行う。<br> sudo firewall-cmd --add-port=3389/tcp --permanent sudo firewall-cmd --reload <br><br> ==== Raspbian ==== Raspberry Piには、予め、VNCサーバの機能が組み込まれているので、VNCの機能を有効化することでVNCサーバの機能を利用できる。<br> [設定] - [Raspberry Piの設定] - [インターフェイス]タブ - [VNC]項目を[有効]にする。<br> <br><br> == VNCサーバ (Wayland向け)== ==== wayvncのインストール ==== wayvncは、wlrootsベースのWaylandコンポジタ用のVNCサーバである。(GNOME, KDE, Westonはサポートされていない)<br> 実行中のWaylandセッションにアタッチして、仮想入力デバイスを作成、RFBプロトコル経由で単一のディスプレイを公開する。<br> <br> Waylandセッションはヘッドレスセッションのため、物理ディスプレイを接続せずにwayvncを実行することも可能である。<br> <br> ===== パッケージ管理システムからインストール ===== # RHEL sudo dnf install wayvnc # SUSE sudo zypper install wayvnc <br> ===== ソースコードからインストール ===== wayvncのビルドに必要なライブラリをインストールする。<br> # RHEL sudo dnf install meson gcc ninja-build pkg-config egl-wayland egl-wayland-devel \ mesa-libEGL-devel mesa-libEGL libwayland-egl libglvnd-devel \ libglvnd-core-devel libglvnd mesa-libGLES-devel mesa-libGLES \ libxkbcommon-devel libxkbcommon libwayland-client \ pam-devel pixman-devel libgbm-devel libdrm-devel scdoc \ libavcodec-free-devel libavfilter-free-devel libavutil-free-devel \ turbojpeg-devel wayland-devel gnutls-devel jansson-devel # SUSE sudo zypper install meson gcc ninja pkg-config scdoc libgnutls-devel pam-devel libglvnd-devel \ libjpeg-turbo libpixman-1-0-devel libjansson-devel libxkbcommon-devel \ Mesa-libEGL-devel Mesa-libGLESv1_CM-devel Mesa-libGLESv2-devel Mesa-libGLESv3-devel \ libdrm-devel libgbm-devel wayland-devel wayland-protocols-devel \ ffmpeg-4-libavcodec-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavutil-devel <br> [https://github.com/any1/wayvnc wayvncのGithub]にアクセスして、ソースコードをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf wayvnc-<バージョン>.tar.gz cd wayvnc-<バージョン> <br> wayvncをビルドおよびインストールする。<br> meson build --prefix=<WayVNCのインストールディレクトリ> ninja -C ./build -j $(nproc) ninja -C ./build install <br> 必要ならば、~/.profileファイル等に環境変数<code>PATH</code>を追記する。<br> vi ~/.profile <br> <syntaxhighlight lang="sh"> # ~/.profileファイル export PATH="/<wayvncのインストールディレクトリ>/bin:$PATH" </syntaxhighlight> <br> wayvncサーバは、デフォルトではlocalhostからの接続しか受け付けない。<br> そのため、任意のインターフェースからの接続を受け入れるには、アドレスを0.0.0.0に設定する。<br> wayvnc 0.0.0.0 <br> パブリックネットワークやインターネット上では、ユーザ認証を有効にしないこと。<br> wayvncの接続を保護する最善の方法は、localhostでリッスンしながらSSHトンネリングを使用することである。<br> また、wayvncに接続する際にユーザを認証することもできる。<br> <br> ==== 暗号化と認証 ==== ===== VeNCrypt (TLS) ===== TLSには、X509秘密鍵と証明書が必要となる。<br> 証明書付きの自己署名鍵は、以下に示すコマンドを実行して生成することができる。<br> cd ~/.config/wayvnc openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:secp384r1 -sha384 \ -days 3650 -nodes -keyout tls_key.pem -out tls_cert.pem \ -subj /CN=localhost \ -addext subjectAltName=DNS:localhost,DNS:localhost,IP:127.0.0.1 cd - <br> 上記のコマンドにおいて、localhostと127.0.0.1は、それぞれ公開用のホスト名とIPアドレスに置き換えること。<br> <br> 次に、認証情報を含む設定ファイル (~/.config/wayvnc/configファイル) を作成する。<br> または、任意の場所に配置して、wayvncコマンドに<code>-config</code>オプションを付加して設定ファイルを読み込むこともできる。<br> # ~/.config/wayvnc/configファイル use_relative_paths=true address=0.0.0.0 enable_auth=true username=<ユーザ名> password=<パスワード> private_key_file=tls_key.pem certificate_file=tls_cert.pem <br> ===== RSA-AES ===== RSA-AESセキュリティタイプは、EAXモードでRSAとAESを組み合わせて、盗聴やMITMに強い安全な認証と暗号化を提供する。<br> <br> その主な弱点は、最初の使用時にユーザがサーバの認証情報を検証しなければならないことである。<br> その後、サーバの認証情報が変更された場合、クライアントソフトウェアはユーザに警告する必要がある。<br> これはSSHで採用されているTOFU (Trust on First Use) スキームである。<br> <br> RSA-AESを有効にするには、RSA鍵を生成する必要がある。<br> ssh-keygen -m pem -f ~/.config/wayvnc/rsa_key.pem -t rsa -N "" <br> また、<code>rsa_private_key_file</code>パラメータを設定することにより、このファイルのパスをwayvncに伝える必要がある。<br> # ~/.config/wayvnc/configファイル use_relative_paths=true rsa_private_key_file=rsa_key.pem enable_auth=true address=0.0.0.0 # オプション username=<ユーザ名> # オプション password=<パスワード> # オプション <br> RSAと組み合わせてTLS用の認証情報を追加することもできる。<br> これは、クライアントが選択する。<br> <br> ==== wayvncctlコントロールソケット ==== 実行時のインタラクションとコントロールを容易にするため、wayvncは$XDG_RUNTIME_DIR/wayvncctl (または、フォールバックとして/tmp/wayvncctl-$UID) にunixドメインソケットを開く。<br> クライアントは接続して、実行中のwayvncインスタンスへの問い合わせと制御のためにjsonフォーマットのIPCメッセージを交換することができる。<br> <br> コマンドラインからこのコントロールソケットを操作するには、wayvncctlユーティリティを使用する。<br> <br> IPCプロトコルと利用可能なコマンドの詳細はwayvnc(1) manページ、コマンドラインインタフェースの詳細はwayvncctl(1) manを参照すること。<br> <br> wayvncで様々なイベントが発生した時にコマンドを実行するために使用できる便利なイベントループモードも存在する。<br> 詳細を知りたい場合は、[https://github.com/any1/wayvnc/blob/master/examples/event-watcher examples/event-watcher]を参照すること。<br> <br> ==== Raspberry Piの場合 ==== まず、WayVNCのバージョンを確認する。<br> wayvnc --version <br> 次に、VNCを有効にする。<br> # 0 : 有効 # 1 : 無効 sudo raspi-config nonint do_vnc 0 <br> <u>WayVNC 0.7.0以降では、RealVNCと互換性のあるRSA-AES認証が追加されたため、適切な証明書を生成することによりRealVNCから接続できる。</u><br> まず、証明書を生成する。<br> # RSA-AESの場合 sudo ssh-keygen -m pem -f $HOME/.config/wayvnc/rsa_key.pem -t rsa -N "" <br> ~/.config/wayvnc/configファイルに、以下に示す設定を追記する。<br> # ~/.config/wayvnc/configファイル use_relative_paths=true address=0.0.0.0 # オプション (全てのIPアドレスから受け付ける場合) enable_auth=true username=<ユーザ名> # オプション password=<パスワード> # オプション rsa_private_key_file=rsa_key.pem <br> Raspberry Piを再ログインまたは再起動する。<br> <br><br> == VNC Viewer == ==== VNC Viewerのインストール ==== ===== Windows ===== [https://www.realvnc.com/en/connect/download/viewer/windows/ VNCの公式Webサイト]にアクセスして、VNC Viewer(EXE x86/x64)をダウンロードする。<br> ダウンロードしたVNC Viewerをダブルクリックして表示される画面通りにインストールする。<br> <br> ===== RHEL / SUSE ===== [https://www.realvnc.com/en/connect/download/viewer/windows/ VNCの公式Webサイト]にアクセスして、VNC Viewer(Standalone x64)をダウンロードする。<br> 以下のコマンドを実行して、VNC Viewerを起動する。(Standalone版はインストール不要)<br> ./VNC-Viewer-<バージョン名>-Linux-x64 <br> VNC Viewerの起動を簡単にするため、以下のように、.bashrcファイルにエイリアスの設定を行ってもよい。<br> alias vncviewer='./VNC/VNC-Viewer-6.20.113-Linux-x64' <br> ===== Raspberry Pi ===== ここでは省略する。<br> <br> ==== デスクトップエントリファイルの作成 ==== デクトップエントリファイルを作成する。<br> vi ~/.local/share/applications/realvnc-vncviewer.desktop <br> <syntaxhighlight lang="ini"> # realvnc-vncviewer.desktopファイル [Desktop Entry] Encoding=UTF-8 Name=VNC Viewer Name[de]=VNC Viewer Name[es]=VNC Viewer Name[fr]=VNC Viewer Name[pt]=VNC Viewer GenericName=VNC Viewer Comment=Connect to computers running VNC Server Comment[de]=Verbindung zu Computern mit aktivem VNC Server herstellen Comment[es]=Conectarse a equipos que ejecutan VNC Server Comment[fr]=Connecter les ordinateurs sous VNC Server Comment[pt]=Conecte-se a computadores com o VNC Server em execução Exec="/home/ユーザ名/VNC/VNC-Viewer-6.20.529-Linux-x64" %f Type=Application Icon=/home/ユーザ名/VNC/vncviewer.png Categories=Application;Network;RemoteAccess; MimeType=application/vnc-shortcut X-Ayatana-Desktop-Shortcuts=NewConnection [NewConnection Shortcut Group] Name=New Connection Name[de]=Neue Verbindung Name[es]=Nueva conexión Name[fr]=Nouvelle connexion Name[pt]=Nova conexão Exec="/home/ユーザ名/VNC/VNC-Viewer-6.20.529-Linux-x64" TargetEnvironment=Unity </syntaxhighlight> <br> なお、アイコンファイルは下記のものをダウンロードすること。<br> [[ファイル:Vncviewer.png|フレームなし|中央]] <br><br> == VNC Viewerの設定 == VNC Viewerを起動し、[Enter a VNC Server address or serach]欄にVNCサーバをインストールしたOSのIPアドレスを入力する。<br> その時、OSのユーザ名とパスワードを求められるので入力する。<br> 接続が成功すれば、OSのデスクトップが表示される。<br> <br> '''※注意'''<br> もし、VNC Viewerにおいて、"Cannot currently show the desktop"エラーが表示された場合は、<br> VNCサーバ側のランレベルを5(デスクトップモード)に変更して再起動する。<br> <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
インストール - VNC
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse