目次

X Windowの利用について
科学技術計算システムを利用するには?
目次
1. macOS での X Window 利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1. X Window 環境の導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2. SSH 公開鍵認証による接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2.1. SSH秘密鍵と公開鍵の生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2.2. 公開鍵の登録. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2. macOS での X Window アプリケーションの利用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.1. XQuartz の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2. SSH(Open SSH) コマンドを使って接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3. アプリケーションの利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.4. XQuartz 利用環境の終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3. OpenGLアプリケーションの実行 (indirect GLX を有効にするには) . . . . . . . . . . . . . . . . . . . . 8

本パンフレットに関するお問い合わせ
X Windowの利用について (科学技術計算システムを利用するには?)
発行
農林水産研究情報総合センター
農林水産省 農林水産技術会議事務局 筑波産学連携支援センター 情報システム課
更新日: 2022年8月3日 Ver.0.7
問い合わせ
E-Mail: request @ affrc.go.jp
農林水産研究情報総合センター URL
URL https://itcweb.cc.affrc.go.jp/© 2022 Agriculture, Forestry and Fisheries Research Council Secretariat, MAFF1

1. macOS での X Window 利用1. macOS での X Window 利用
1.1. macOSmacOS は、Unix(BSD) を基盤技術の一つとして作られており、UNIX と同様に動作します。
macOS で動作する X11 のサーバとクライアントのライブラリは、XQuartz プロジェクトから入手できます。 (XQuartz 2.8.0 (2021-03-21) からは、Apple Silicon をサポートしています。)
X Window 環境での日本語入力はできませんが、日本語の表示は問題ありません。 コマンドなど、CUI (Character-based User Interface) での日本語入力は、 macOS 標準のターミナルや iTerm2などのターミナルソフトを利用してください。
X Window アプリケーションを利用するには、ホイール付きマウスがあると便利です (3 ボタンマウスと同様に操作することができます。)。
3 ボタンマウスは、「左」「中」「右」のボタンがあり、UNIX系OS (X Window) で使われることが多い。
Windows でよく使われるホイール付きマウスのホイールを押下すると、「中」ボタンと同様に機能します。

1.1.1. X Window 環境の導入
XQuartz の最新版を XQuartz プロジェクトのサイト (https://www.xquartz.org/) からダウンロードしてください。

XQuartz のダウンロードとインストール
ダウンロードしたパッケージを開き通常のアプリケーションと同様にインストールしてください。
インストールが完了したら、Mac を一度ログアウトして再ログインしてください。

2

1.1. macOS

1.1.2. SSH 公開鍵認証による接続
パスワード認証と比較して、よりセキュアな公開鍵認証を利用する手順を紹介します。
• 自分の認証キー (秘密鍵と公開鍵のペア) を生成します。
• 接続するホストに公開鍵を登録します。
• ssh -Y -i [認証キー(秘密鍵)] [login-name]@[server-name] コマンドの -i オプションで、秘密鍵の場所 (~/.ssh/id_ed25519 など) を指定して接続します。 (-Y は、 X11 有効)• 接続先ホストのユーザ環境に公開鍵が登録されている場合、秘密鍵と照合されます。 秘密鍵を参照するには、パスフレーズの入力が必要です。
科学技術計算システムへのログインは、公開鍵認証(パスワード認証不可)になりました。

科学技術計算システムでは、公開鍵登録用の専用Webサイトで登録を行います。
パスワード認証を禁止しているサーバについては、それぞれのシステムで公開鍵登録の方法が異なりますので、管理者に確認してください。 (公開鍵をメールやファイルなどで管理者あてに送り、管理者が登録するといった方法もあります)

1.1.2.1. SSH秘密鍵と公開鍵の生成
macOS には、ssh(OpenSSH) が標準で導入されていますので、 ssh-keygen コマンドを使って、SSH鍵を生成します。
リスト 1. SSHキーペアの生成(ssh-keygenコマンド)% ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/norin/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_ed25519
Your public key has been saved in id_ed25519.pub
The key fingerprint is:
SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy norin@pc-22007
The key's randomart image is:+--[ED25519 256]--+| .+..
..
||o . o... . ||o = O. + ||. B & *o . ||o S # o ||+ @ =. .E.||
* = .o ..||. + o . ||o|+----[SHA256]-----+

①②③
④

⑤3

1.1. macOS① ssh-keygen コマンドでキーを生成します。 オプション -t ed25519 で鍵の種類を ED25519 に指定します。 鍵の種類は、ED25519 をお勧めします。
② 生成する鍵ファイルの格納ディレクトリとファイル名を指定します。 (デフォルトならば、Enter キーを押す)③ 鍵に設定するパスフレーズを入力します。 (必ずパスフレーズを設定してください。)④ 確認のため、パスフレーズを再入力します。
⑤ 生成した鍵のフィンガープリント (鍵のハッシュ値) が表示されます。
リスト 2. 生成したキーファイル% ls -l ~/.ssh
total 48-rw------- 1 norin-rw-r--r-- 1 norin①staff
staff

464
105

4 18
4 18

2021 id_ed25519
2021 id_ed25519.pub②③① 生成した鍵ファイルは、ホームディレクトリ(/Users/[ユーザ名]/)配下の .ssh ディレクトリに保存されます。 (~/ は、ホームディレクトリ)② 生成された秘密鍵(ファイルのアクセス権が -rw------- になっていること。)③ 公開鍵をログイン先ホスト(サーバ)に登録します。
生成する鍵の種類は、Ed25519 か RSA 2048 bit以上を作成してください。 楕円曲線暗号の一つである Ed25519 をお勧めします。 (暗号強度が高く鍵長が短い)
パスフレーズを必ず入力してください。 (秘密鍵を漏洩させないことが重要です
が、漏洩した場合に、なりすましを防止します。)

1.1.2.2. 公開鍵の登録
科学技術計算システムでは、公開鍵登録用の専用Webサイトで登録を行います。 保存した公開鍵(id_ed25519.pub)は、OpenSSH形式ですので、 cat コマンドなどで表示し、 コピー&ペーストして登録することができます。
リスト 3. catコマンドで公開鍵を表示% cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy norin@pc22007



パスワード認証を禁止しているサーバについては、それぞれのシステムで公開鍵登録の方法が異なりますので、管理者に確認してください。 (公開鍵をメールやファイルなどで管理者あてに送り、管理者が登録するといった方法もあります)41.1. macOS

ssh-copy-id コマンドによる公開鍵の登録(パスワード認証が許可されている場合)
パスワード認証が許可されているシステムの場合は、次の方法で公開鍵を登録することが可能です。
macOS の場合、標準で OpneSSH が導入されていますので、 ssh-copy-id コマンドがシンプルで確実です。 macOS のターミナルや iTerm2 などから、コマンドを実行します。
% ssh-copy-id UserID@remote-server.example.com

公開鍵のファイルがデフォルト(~/.ssh/id_ed25519.pub や ~/.ssh/id_rsa.pub)でない場合、 ファイルを指定するオプション( -i [公開鍵のPATH] )が必要です。
% ssh-copy-id -i ~/.ssh/id_ecdsa.pub UserID@remote-server.example.com

リスト 4. ssh-copy-id による、公開鍵の登録% ssh-copy-id UserID@remote-server.example.com/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed:"/Users/UserID/.ssh/id_ed25519.pub"/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any thatare already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it isto install the new keys
UserID@remote-server.example.com's password:
Number of key(s) added:

1Now try logging into the machine, with:"ssh 'UserID@remote-server.example.com'"and check to make sure that only the key(s) you wanted were added.

5

1.2. macOS での X Window アプリケーションの利用

1.2. macOS での X Window アプリケーションの利用
1.2.1. XQuartz の起動「アプリケーション」「ユーティリティ」フォルダ内の「XQuartz」を起動すると、ターミナル(xterm) が開きます。

XQuartz の起動と xterm の表示

1.2.2. SSH(Open SSH) コマンドを使って接続
Xterm や macOS 標準のターミナルから、コマンドを使ってホスト(サーバ)、科学技術計算システムにログインすることができます。
ssh(slogin) コマンドの「X11 port forwarding」オプションを有効にして接続します。ターミナルから以下の様に入力します。
ssh -Y [ログイン名]@[接続先のホスト名]

コマンドオプション -Y は、X11 port forwarding を有効にします。
リスト 5. sshコマンドによるログイン% ssh -Y norin@scion.cc.affrc.go.jp①
The authenticity of host 'scion.cc.affrc.go.jp (150.26.201.10)' can't be established.
ED25519 key fingerprint is SHA256:Tcgv2s+TBzi5wWuQGHoYrNV92WOb7nxPIDo4hpLPPBM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes ②
Warning: Permanently added 'scion.cc.affrc.go.jp' (ED25519) to the list of known hosts.
Enter passphrase for key '/Users/norin/.ssh/id_ed25519':③
Last login: Fri Apr 22 16:29:21 2022 from 150.26.xxx.yyy① 公開鍵認証では、 -i ~/.ssh/id_ed25519 のよに秘密鍵を指定します。 (デフォルトであれば、オプションは不要です。)

6

1.2. macOS での X Window アプリケーションの利用② 初めて接続するホストは、ホストキーを登録するかどうかを聞いてきますので「yes」と入力し登録します。
③ 秘密鍵に設定したパスフレーズを入力します。 (パスワード認証であれば、接続先ホストのパスワードを入力)

接続先のホストキーと ~/.ssh/known_hosts ファイルに登録されているキーを照合し、合致しない場合は不正なホスト (なりすましなど) として警告されます。接続先のサーバ管理者にホストキーの変更が無いか確認してください。

Mac の XQuartz 環境では、日本語の入力ができません。
xterm で日本語 (utf-8) の表示をするには、 xterm
ウィンドウ内で「CTRL」キーを押しながらマウスの右ボタンを押し、表示されたメニューの「UTF-8」に チェックを入れて設定してください。

接続先のシステムで日本語を含むファイルを編集するなど日本語の入力作業を行う場合は、macOS 標準のターミナルを使うことができます。 ターミナルの日本語コードは UTF-8 が標準となっています。

1.2.3. アプリケーションの利用アプリケーションを起動します。 アプリケーションの起動コマンドは、AFFRIT Portal「科学技術計算システム 2021システム」 https://itcweb.cc.affrc.go.jp/affrit/inside/scs2021/manual 「高速演算システム操作マニュアル（アプリケーション利用編）」 を御覧くだ さい。
Maple を起動するには、“maple“と入力します。
[norin@fe01 ~]$ maple

Maple を実行すると、以下のような画面になります。 アプリケーションの操作方法は、マニュアル等を参照 してください。

7

1.3. OpenGLアプリケーションの実行 (indirect GLX を有効にするには)

図 1. Maple の実行 画面イメージ

1.2.4. XQuartz 利用環境の終了
アプリケーションを終了 (アプリケーションの終了方法は、それぞれ異なりますので、 アプリケーションのマニュアル等を参照してください。) して、接続先のホストからログアウトします。
起動しているターミナルなども終了 (exit) させます。 他のアプリケーション同様に XQuartz メニ
ューから終了させてください。

1.3. OpenGLアプリケーションの実行 (indirect GLX を有効にするには)3D表示など、OpenGLを使っているアプリケーションを利用する際に、 libGL error となり、 アプリケーションの表示に問題が出たり、利用できない場合があります。
$ gv6
libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast

XQuartz の indirect GLX が無効化されているため、以下のコマンドにより、 デフォルト設定を変更することで、OpenGLアプリケーションを利用することができます。
リスト 6. XQuartz2.8.0以降の設定コマンド
defaults write org.xquartz.X11 enable_iglx -bool true

上記設定を実行してから、XQuartzを再起動してください。

8

デフォルト設定で indirect GLX を有効にしても、libGL error が表示されることがあります。

1.3. OpenGLアプリケーションの実行 (indirect GLX を有効にするには)

リスト 7. indirect GLX が有効の場合$ glxinfo | grep OpenGL
libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast
OpenGL vendor string: Apple
OpenGL renderer string: Apple M1
OpenGL version string: 1.4 (2.1 Metal - 76.3)
OpenGL extensions:libGL error が表示される場合でも、 X Error of failed request: GLXBadContext の エラーが解消されているので、アプリケーションの利用は可能です。
ただし、Paraview は、OpenGL のバージョン(OpenGL 3.2以降が必要)などの問題があり、実行できません。
リスト 8. indirect GLX が有効でない場合$ glxinfo
name of display: localhost:12.0
libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 29
Current serial number in output stream: 28

GLXは、Xを介してOpenGL命令を実行するための拡張機能です。

9