Ubuntu20.04 VNCのインストールと設定の実装

Ubuntu20.04 VNCのインストールと設定の実装

VNC はリモート デスクトップ プロトコルです。 VNC を使用して Ubuntu 20.04 をリモート制御するには、この記事の手順に従ってください。ホストがモニターに接続されていない場合、一般的な VNC インストール方法は使用できません。以下の操作は、ホストにモニターがあるかどうかに関係なく正常に動作します。

まずx11vncをインストールします

sudo apt-get install x11vnc -y

VNCパスワードを設定する

sudo x11vnc -storepasswd /etc/x11vnc.pass

x11vnc自動起動サービスを作成する

/etc/systemd/system/x11vnc.serviceを作成し、次の内容を記述します。

[ユニット]
説明=起動時に x11vnc を起動します。
後=マルチユーザー.ターゲット
[サービス]
タイプ=シンプル
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[インストール]
WantedBy=マルチユーザー.ターゲット

x11vncサービスを開始する

sudo systemctl で x11vnc を有効にする
sudo サービス x11vnc 開始

この時点で、モニターがリモート ホストに接続されている場合は、LAN 上の VNC を介してアクセスできます。

ディスプレイの有無にかかわらず、リモートホストにVNC経由でリモートアクセスできるようにするには、次の変更を行う必要があります。

デフォルトのxorg.confファイルを作成する

sudo Xorg:1 -configureを実行します

この時点で、プログラムは/root/xorg.conf.newファイルを生成します。

デフォルトのファイルの内容は次のとおりです

セクション「ServerLayout」
 識別子「X.org 構成済み」
 スクリーン0「スクリーン0」0 0
 入力デバイス「Mouse0」「CorePointer」
 入力デバイス「Keyboard0」「CoreKeyboard」
終了セクション

セクション「ファイル」
 モジュールパス "/usr/lib/xorg/modules"
 フォントパス "/usr/share/fonts/X11/misc"
 フォントパス "/usr/share/fonts/X11/cyrillic"
 フォントパス "/usr/share/fonts/X11/100dpi/:unscaled"
 フォントパス "/usr/share/fonts/X11/75dpi/:unscaled"
 フォントパス "/usr/share/fonts/X11/Type1"
 フォントパス "/usr/share/fonts/X11/100dpi"
 フォントパス "/usr/share/fonts/X11/75dpi"
 FontPath「組み込み」
終了セクション

セクション「モジュール」
 「glx」をロードする
終了セクション

セクション「InputDevice」
 識別子「Keyboard0」
 ドライバー「kbd」
終了セクション

セクション「InputDevice」
 識別子「Mouse0」
 ドライバー「マウス」
 オプション「プロトコル」「自動」
 オプション「デバイス」「/dev/input/mice」
 オプション「ZAxisMapping」「4 5 6 7」
終了セクション

セクション「モニター」
 識別子「Monitor0」
 VendorName「モニターベンダー」
 ModelName「モニターモデル」
終了セクション

セクション「デバイス」
    ### 利用可能なドライバーオプションは次のとおりです:-
    ### 値: <i>: 整数、<f>: 浮動小数点数、<bool>: "True"/"False"、
    ### <文字列>: "文字列", <周波数>: "<f> Hz/kHz/MHz",
    ### <パーセント>: "<f>%"
    ### [arg]: 引数はオプション
    #オプション "Accel" # [<bool>]
    #オプション "AccelMethod" # <str>
    #オプション「バックライト」# <str>
    #オプション "CustomEDID" # <str>
    #オプション "DRI" # <str>
    #オプション "Present" # [<bool>]
    #オプション "ColorKey" # <i>
    #オプション "ビデオキー" # <i>
    #オプション "Tiling" # [<bool>]
    #オプション "LinearFramebuffer" # [<bool>]
    #オプション "HWRotation" # [<bool>]
    #オプション "VSync" # [<bool>]
    #オプション "PageFlip" # [<bool>]
    #オプション "SwapbuffersWait" # [<bool>]
    #オプション "TripleBuffer" # [<bool>]
    #オプション "XvPreferOverlay" # [<bool>]
    #オプション "HotPlug" # [<bool>]
    #オプション "ReprobeOutputs" # [<bool>]
    #オプション "XvMC" # [<bool>]
    #オプション "ZaphodHeads" # <str>
    #オプション "VirtualHeads" # <i>
    #オプション "TearFree" # [<bool>]
    #オプション "PerCrtcPixmaps" # [<bool>]
    #オプション "FallbackDebug" # [<bool>]
    #オプション "DebugFlushBatches" # [<bool>]
    #オプション "DebugFlushCaches" # [<bool>]
    #オプション "DebugWait" # [<bool>]
    #オプション "BufferCache" # [<bool>]
 識別子「Card0」
 ドライバー「インテル」
 バスID「PCI:0:2:0」
終了セクション

セクション「スクリーン」
 識別子「Screen0」
 デバイス「Card0」
 モニター「Monitor0」
 サブセクション「表示」
 ビューポート 0 0
 深さ1
 終了サブセクション
 サブセクション「表示」
 ビューポート 0 0
 深さ4
 終了サブセクション
 サブセクション「表示」
 ビューポート 0 0
 深さ8
 終了サブセクション
 サブセクション「表示」
 ビューポート 0 0
 深さ15
 終了サブセクション
 サブセクション「表示」
 ビューポート 0 0
 深さ16
 終了サブセクション
 サブセクション「表示」
 ビューポート 0 0
 深さ24
 終了サブセクション
終了セクション

このファイルを/usr/share/X11/xorg.conf.d/xorg.confにコピーします。

このファイルにより、モニターがホストに接続されたときに、システム インターフェイスがモニターに正常に表示されるようになります。次に、システムに仮想ディスプレイを追加します。ホストにディスプレイがない場合、システムはこの仮想ディスプレイを使用します。

仮想グラフィックドライバーをインストールする

sudo apt install xserver-xorg-video-dummy

このファイルの最後に次の内容を追加します

セクション「モニター」
 識別子「Monitor1」
 水平同期 1.0 - 2000.0
 頂点リフレッシュ 1.0 - 200.0
 # 16:9 モードを追加します。その他は自動的に検出されます。
 モデリーン「1280x720」74.48 1280 1336 1472 1664 720 721 724 746
 モデライン "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118
終了セクション


セクション「デバイス」
 識別子「Card1」
 ドライバー「ダミー」
 ビデオメモリ 256000
終了セクション

セクション「スクリーン」
 デフォルトの深さ 24
 識別子「Screen1」
 デバイス「カード1」
 モニター「モニター1」
 サブセクション「表示」
  深さ24
  モード「1920x1080」
 終了サブセクション
終了セクション

このようにして、仮想グラフィック カードを使用して仮想ディスプレイを作成しました。仮想ディスプレイと実際のディスプレイの両方を機能させるには、上部のServerLayoutを変更する必要があります。

セクション「ServerLayout」
    識別子「X.org 構成済み」
    スクリーン0「スクリーン0」0 0
 スクリーン1「スクリーン1」0 0
終了セクション

リモート コンピューターを再起動すると、モニターなしでリモート接続できるようになります。

上記の方法には別の問題があります。つまり、ユーザーがログインしていない場合は、リモートで制御する方法はありません。そのため、ユーザーが自動的にログインするように設定する必要があります。

Ubuntu 20.04 VNC のインストールとセットアップに関するこの記事はこれで終わりです。Ubuntu 20.04 VNC のインストールとセットアップの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Ubuntu での AndroidStudio4.1 の起動エラー問題の解決方法
  • Vscode が Ubuntu にリモート接続する際のエラー問題の解決方法
  • VS Code の使用と Ubuntu での C/C++ プラグインのインストールに関する詳細なチュートリアル
  • Ubuntu でパスワードを変更し、パスワードの複雑さのポリシーを設定する方法
  • Ubuntuはポート22を開きます
  • Ubuntu 20.04 に GitLab をインストールして設定する方法
  • Ubuntu 20.04にvncserverをインストールする方法
  • Ubuntu 構成 Pytorch on Graph (PoG) 環境プロセス図

<<:  Uniappがスライディングスコアリング効果を実現

>>:  MySQL InnoDBとMyISAMの違いを簡単に理解する

推薦する

HTMLページの読み込みと解析プロセスの詳細な紹介

ブラウザがHTMLを読み込みレンダリングする順序1. IE は上から下へダウンロードし、上から下へレ...

XHTML 入門チュートリアル: Web ページのヘッダーと DTD

ヘッドと DTD はページには表示されませんが、Web ページの重要な要素です。 なぜ失敗したのでし...

MySQL はリレーショナルデータベースですか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

純粋なCSSを使用してスクロールシャドウ効果を実現します

端的に言うと、スクロール可能な要素には非常によくある状況があります。通常、スクロールすると、要素が現...

シンプルな加算計算機の JavaScript 実装

この記事では、参考までに、加算計算機を実装するためのJavaScriptの具体的なコードを紹介します...

データベース管理における 19 の MySQL 最適化方法

MySQL データベースを最適化すると、データベースの冗長性を削減できるだけでなく、データベースの実...

MySQL の Like の概念と使用法の説明

Like は中国語で「好き」を意味しますが、MySQL データベースに適用される場合、Like は、...

MYSQL スロークエリとログの例の説明

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

SpringBoot + Vue プロジェクトを Linux サーバーにデプロイするための詳細なチュートリアル

序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...

ウェブページ作成のヒントのまとめ

序文この記事は主に、日常の Web ページ制作で遭遇する問題解決スキルの一部をまとめ、皆さんの参考と...

Vue.js アプリケーションのパフォーマンス最適化分析 + ソリューション

目次1. はじめに2. Vue JS のパフォーマンス最適化が必要な理由は何ですか? 3. Vueの...

LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

概要バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために...

HTTPプロトコルにおけるステータスコードの意味

暫定的な応答を示し、要求者に操作の続行を要求するステータス コード。コードの説明100 (続行) リ...

モバイル ブラウザのビューポート パラメータ (Web フロントエンド デザイン)

モバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置します。このウィン...