はじめに
X ServerはLinuxサーバー上でグラフィカルなアプリケーションとのやりとりが必要な場合に不可欠です。特に、コマンドラインインターフェースだけでは不足するか、実用的でない場合、X Serverを活用することでSSH接続を介してリモートLinuxサーバーとローカルマシンをシームレスにつなげ、快適なグラフィカルな体験を実現できます。
以下は、X Serverが必要になる典型的なシナリオです:
-
リモートでのGUIアプリケーションの実行: SSHを通じてLinuxサーバーにアクセスし、WebLogicやJenkinsなどのGUIアプリケーションを実行する際に重要です。
-
開発とテスト: Linuxサーバー上で開発作業を行っており、開発プロセス中にグラフィカルなアプリケーションをテストまたは実行する場合に活用されます。
-
管理タスク: 一部のシステム管理ツールにはグラフィカルなインターフェースがあり、X Serverを使用してこれらのツールをリモートで効果的に利用できます。ネットワーク設定の構成、ユーザーの管理、システムリソースの監視などがこれに該当します。
-
データの視覚化: データの視覚化ツールや科学的なアプリケーションを使用する場合、X Serverを介してこれらの視覚化を表示し、対話する必要があります。
-
Linuxデスクトップ環境へのアクセス: リモートでLinuxデスクトップ環境全体にアクセスしたい場合、X Serverを使用してリモートLinuxサーバーのグラフィカルインターフェースをローカルマシンに転送できます。
X Server
今回は、XmingとVcXsrvの2つのX Serverをご紹介いたします。どちらもTera TermやPuTTYなどのSSHターミナルと組み合わせて使用可能です。お好みに合わせて、どちらかを選んでください。
-
Xming:
- SSH: Xmingは安全なSSH接続を提供し、リモートサーバーへの安全なアクセスを実現します。
- Server Management: Xmingはサーバーの管理を容易にし、グラフィカルなユーザーインターフェースを通じてサーバーの設定を行えます。
- Terminal Tools: Xmingには便利なターミナルツールが含まれており、効率的な作業が可能です。
- Server Configuration and Automation: サーバーの構成と自動化に関してもXmingは柔軟かつ効果的なオプションを提供しています。
-
VcXsrv:
- SSH: VcXsrvもSSH接続をサポートし、セキュアなリモートアクセスを提供します。
- Server Management: VcXsrvは直感的な管理オプションを備え、サーバーの操作を簡素化します。
- Terminal Tools: 効率的な作業をサポートするターミナルツールもVcXsrvに含まれています。
- Server Configuration and Automation: サーバーの構成と自動化においてもVcXsrvは優れた機能を提供しています。
これらのX Serverは、Tera TermやPuTTYと組み合わせて使用することで、リモート環境でのGUIアプリケーションの実行や管理作業をスムーズかつ効果的に行うことができます。
SSHターミナルの設定
Tera TermとPuttyを利用している場合はターミナルのSSH転送の設定が必要です。
Tera Termの設定
TeraTermを立ち上げて、
設定⇒ssh設定⇒SSHポート転送を開き、
「リモートの(X)アプリケーションをローカルのXサーバに表示する」にチェック。
設定の保存をして、再度立ち上げれば、X11転送の設定が完了。(TeraTermの再起動が必要)
PuTTY の設定
TeraTermを立ち上げて
「SSH」⇒「X11」⇒を開き、
「X11 フォワーディングを有効にする」にチェック。
OSの設定
minimalからgraphical user interface (GUI)に変更
- すでにGUIがインストールされているか確認する。
OSがminimalの場合はGUIに変更する必要のため、GUIのインストールを行う。
dnf groupinfo "Server with GUI"
- GUIのグループパッケージを確認する
dnf group list
#Output
Updating Subscription Management repositories.
Updating Subscription Management repositories.
Last metadata expiration check: 0:12:40 ago on Fri 01 May 2020 08:58:11 PM IST.
Available Environment Groups:
Server with GUI
Server
Minimal Install
KDE Plasma Workspaces
Custom Operating System
Virtualization Host
Installed Environment Groups:
Workstation
Installed Groups:
Development Tools
Available Groups:
Legacy UNIX Compatibility
Container Management
.NET Core Development
Graphical Administration Tools
Headless Management
Network Servers
RPM Development Tools
Scientific Support
Security Tools
Smart Card Support
System Tools
Fedora Packager
Xfce
- GUIのグループパッケージをインストールする
dnf groupinstall "Server with GUI"
- default targetをgraphical modeに変更する
systemctl set-default graphical.target
- 再起動する
reboot
X11Forwardingの有効化
- X11Forwardingパラメータを確認するために、次のコマンドを使用します。
cat /etc/ssh/sshd_config | grep -i X11Forwarding
出力がないか、もしくは X11Forwarding no
と表示された場合は、sshd_config
ファイル内に以下の行を追加します。ファイルに既に含まれている場合は、値が yes
に設定されていることを確認します。
X11Forwarding yes
- sshd_configファイルを開くために次のコマンドを実行します。
vi /etc/ssh/sshd_config
/etc/ssh/sshd_configファイルで値を変更した場合は、ssh サービスを再起動します。
systemctl restart ssh
これで X11 フォワーディングが有効になり、sshd_config
ファイル内の X11Forwarding
パラメータが正しく設定されていることが確認できます。
.bash_profile 設定
-
.bash_profile
ファイルを編集するために、次のコマンドを実行します。vi ~/.bash_profile
-
ファイル内で必要な変更を行います。
例: windowsのIPアドレスが 192.168.1.100 の場合、次の行を追加します。export DISPLAY=192.168.1.100:0
この設定は、X サーバーが実行されている IP アドレスを指定します。これにはXmingなどのXサーバが動作れているWindows端末のIPアドレスを使用します。
-
変更を保存してファイルを閉じます。
-
.bash_profile
ファイルの変更を反映するために、次のコマンドを実行します。source ~/.bash_profile
これで、X11 フォワーディングが有効になり、.bash_profile
ファイルが正しく設定されていることが確認できます。なお、X サーバーの IP アドレスは、Windows 上で実行されている X サーバー(例: Xming)のものを指定します。
X Serverのインストールと設定
Xmingのインストールと設定
-
ダウンロードした「Xming-x-x-x-x-setup.exe」ファイルを実行する。
-
以下をチェックして、「Next >」をクリックする。
Create a desktop icon for XLaunch
Associate XLaunch.exe with the .xlaunch file extension
Xmingフォントのインストール
-
ダウンロードした「Xming-fonts-x-x-x-xx-setup.exe」を実行する。
-
SSHターミナルでログインし、GUIアプリケーションを起動する。
# firefox &
VcXsrvのインストールと設定
-
ダウンロードしたインストーラーのファイルを実行する。
-
「Disable access control」をチェックし、「次へ >」をクリックする。
チェック済み(有効): 「Disable access control」にチェックを入れると、外部のシステムがXサーバに接続できるようになります。これは、リモートサーバからローカルマシンにGUIアプリケーションを表示する必要がある場合に便利ですが、どんなシステムからでもXサーバに接続できる可能性があり、セキュリティリスクが発生する可能性があります。
未チェック(無効): 「Disable access control」にチェックを入れないと、Xサーバへのアクセスが制限され、セキュリティが向上します。ただし、SSHを介した適切なX11フォワーディングを設定していない限り、リモートサーバからローカルマシンにGUIアプリケーションを表示する際に問題が発生する可能性があります。セキュリティとユースケースに合わせてオプションを選択してください。一般的にはセキュリティを重視し、信頼されたサーバからのみGUIアプリケーションを表示する際は、アクセス制御を有効にすることが推奨されます。
-
SSHターミナルでログインし、GUIアプリケーションを起動する。
# firefox &
まとめ
この記事では、Linuxサーバー上でGUIアプリケーションを利用するためのX Serverの導入と設定を紹介しました。X ServerはSSH接続を通じてリモートLinuxサーバーとローカルマシンを結びつけ、グラフィカルな操作を可能にします。
記事では、X Serverが必要な典型的なケースや、XmingとVcXsrvの2つのX Serverを紹介しました。これらはSSHターミナルと組み合わせて利用でき、それぞれ異なる特長があります。
具体的な設定手順もシンプルに解説しましたが、異なるOSの場合は手順が異なることに留意してください。記事を参考にしながら、各環境に合わせて操作してみてください。