2022年3月2日

次回ハンズオン(gnuplot)のためにX Windowの設定の確認。たまたままっさらに近いiMacがあったので試す。

https://www.xquartz.org/から、最新版のXQuartz(2021年4月25日時点ではXQuartz-2.8.1.dmg)をダウンロードし、dmgファイルを開いてXQuartz.pkgを実行してインストールする。

ローカルですぐにxeyesは動くようになったが、研究室サーバからXが飛ばない。エラーはこれ。

X11 forwarding request failed on channel 0

あれ、Ubuntuからもだめだ。サーバ側の問題かな。

/etc/ssh/sshd_configX11Forwarding yesはある。

/etc/ssh/sshd_configX11UseLocalhost noを設定して

sudo service sshd restart

してから再度接続したら通った。

とりあえずローカルにbrewでgnuplotを入れたら以下のメッセージが出た。あとで確認。

Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

調べた。brew 2.0.0からcleanupが自動で走るようになったらしい。cleanup、reinstall、install、upgradeをトリガーとして、30日間走っていなければcleanupが勝手に走るとのこと。それが嫌ならHOMEBREW_NO_INSTALL_CLEANUPを設定してね。とのこと。cleanupして欲しいし、このヒントは不要なので、HOMEBREW_NO_ENV_HINTSを設定しておく。

環境変数について何も知らなかった。setとenvの違い

単に値を入れるだけだと、setではひっかかるが、envにはひっかからない。

$ ABC=xyz
$ set | grep ABC
ABC=xyz
$ env | grep ABC

exportすると、「それが定義されたときにexportされる」という情報が付与される。

$ export ABC  # この時点ではなにも値が設定されない
$ set | grep ABC
ABC=''
$ env | grep ABC
$ ABC = xyz # 値を設定
$ set | grep ABC
ABC=xyz
$ env | grep ABC
ABC=xyz

う、Macではexportした時点で空文字列が設定されるな。

Linux+Bash

$ export ABC
$ set | grep ABC
_=ABC

やっぱり空文字列か。

Ubuntu + Zsh

$ export ABC
$ set | grep ABC
ABC=''

これはOSというよりシェルの違いか。exportした時点で空文字列が設定されるんだな。

シェル変数と環境変数の違いをちゃんと認識していなかった。シェル変数は現在のシェルのみで有効、環境変数は子プロセスにも受け継がれる。

envは環境変数の一覧、setはシェル変数と環境変数の一覧を表示。exportも環境変数一覧。

時間割の確認。とりあえず自分の担当講義は「教育支援システム」→「出講カレンダー」で確認できる。また、学事日程は同画面の「資料ダウンロード」からダウンロード可能(これが欲しかった)。大学院のまだかな?

学生さん論文、少し修正。