次回ハンズオン(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_configにX11Forwarding yesはある。
/etc/ssh/sshd_configにX11UseLocalhost 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も環境変数一覧。
時間割の確認。とりあえず自分の担当講義は「教育支援システム」→「出講カレンダー」で確認できる。また、学事日程は同画面の「資料ダウンロード」からダウンロード可能(これが欲しかった)。大学院のまだかな?
学生さん論文、少し修正。