ネットワークコンピューティング実習

1. URL
2. 担当教員
3. TA (ティーチングアシスタント)
4. ネットワークに関する疑問
5. 講義目的: 到達目標
6. 授業方法
7. 成績評価
8. スケジュール
9. 大崎が担当する科目に共通の連絡事項・アドバイス
10. Debian GNU/Linux のインストール
11. UNIX (UNIX とは、ユーザ権限、パッケージ管理)
12. Debian GNU/Linux セットアップ〜パッケージ管理
13. シェル (ファイル操作、リダイレクト、パイプ)
14. X ウィンドウシステム & ウィンドウマネージャ
15. エディタ (Emacs チュートリアル)
16. シミュレータ導入 (インストール、実行、可視化)
17. Python 言語 (1) (名前、変数、式)

X ウィンドウシステム & ウィンドウマネージャ

実習の流れ・チーム分けの方針・態度目標

2025/09/24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/#10-1

内容目標

- X ウィンドウシステムを利用できるようになる

- ウィンドウマネージャ (xpywm) をインストールできるようになる。

- xpywm の基本的な操作法を理解し、ウィンドウに対する一般的な操作ができるようになる。

- xpywm のインストール場所および変更方法を理解し、簡単なカスタマイズができるようになる。

課題

準備

- sudo をインストールし、sudo コマンドが実行できる状態にしておく。

- fish をインストールし、デフォルトシェルを fish に変更しておく。

- LANG が ja_JP (日本語) になっていれば、以下を実行し、デフォルトロケールを en_US.UTF-8 に変更しておく。

> sudo dpkg-reconfigure locales

課題1

xpywm、 xpymon、 xpylog が利用可能な状態の X ウィンドウシステムを起動せよ。

課題2

xpywm のキーボードおよびマウス操作法を暗記せよ。

課題3

xpywm の文字およびフレームの色を自分好みのものにカスタマイズせよ。

課題4

Alt + Ctrl + 4 を押すと、以下の「Debian GNU/Linux Reference Card」を mupdf で開くように設定せよ。

Debian GNU/Linux Reference Card
https://www.debian.org/doc/manuals/refcard/refcard

略解

課題 1

もしまだなら、 事前に sudo コマンドのインストールと設定を済ませておく。

sudo コマンドのインストール・設定方法
# apt install sudo
# adduser 自分のログイン名 sudo ← 自分自身を sudo グループに追加する
いったんログアウト

インストール用スクリプトを wget で入手し、 シェル (sh) で実行する。 その後、 さまざまな設定ファイルを格納したアーカイブ (home.tgz) をホームディレクトリ上で展開する。

> wget -O - lsnl.jp/xpywm | sh
> tar xzvf home.tgz
> startx

home.tgz を展開すると、ホームディレクトリ以下の設定ファイルが上書きされることに注意せよ。

課題 2

以下に操作法の一覧がある。

xpywm
https://github.com/h-ohsaki/xpywm

課題 3

プログラム本体 (Python のスクリプト) xpywm の場所は which xpywm でわかる。

> which xpywm
/usr/local/bin/xpywm

このファイル xpywm 中の、 以下のような箇所

FRAME_COLOR = 'aquamarine1'
TITLE_COLOR = 'aquamarine3'

にある色名 (aquamarine1 や aquamarine3 など) を他の色名に書換えればよい。 X ウィンドウシステムが認識する色の名前は、

/usr/share/X11/rgb.txt

に書かれている。

xpywm の所有者は root のため、 (1) root の権限で書換える、 (2) ファイルの所有者を自分に変更する (chown コマンド)、 (3) ファイルを所有者以外でも書換えられるようにする (chmod コマンド)、 などの方法がある。

課題 4

mupdf パッケージをインストール。

> sudo apt install mupdf

PDF ファイルを取得し、mupdf で開けることを確認。

 > wget https://www.debian.org/doc/manuals/refcard/refcard; mupdf refcard
 

~/.xpywmrc に以下の行を追加する。

KEYBOARD_HANDLER['4'] = {
    'modifier': X.Mod1Mask | X.ControlMask, 'command': 'mupdf ~/refcard &'
}

PDF ファイル refcard をホームディレクトリ以外にダウンロードした場合は上記のパス (~/) を変更する必要がある。 ~/.xpywmrc ファイルに間違いがあると xpywm (ウィンドウマネージャ) が起動しない (起動しようとしてエラーで終了する) ことに注意せよ。

UNIX 上で動作するウィンドウマネージャのリスト

The Comprehensive List of Window Managers and Compositors for Unix
https://www.gilesorr.com/wm/table.html

VirtualBox 上で X の解像度を変更する方法

VirtualBox 上で X Window System を起動すると、 デフォルトでは画面の解像度が 800x600 ピクセルになる (バージョンによる?)。

X の設定ファイルを作成することで、 画面の解像度を変更することができる。

> wget lsnl.jp/xorg.conf      ← 設定ファイルをダウンロード
> cat xorg.conf               ← 設定ファイルの内容を確認
Section "Device"
  Identifier      "Configured Video Device"
EndSection
Section "Monitor"
  Identifier      "Configured Monitor"
EndSection
Section "Screen"
  Identifier      "Default Screen"
  Monitor         "Configured Monitor"
  Device          "Configured Video Device"
  SubSection "Display"
#     Modes "1920x1200"
    Modes "1280x1024"
  EndSubSection
EndSection
> sudo cp xorg.conf /etc/X11  ← 設定ファイルを /etc/X11/xorg.conf として保存 (新規作成)

※ VirtualBox Guest Additions をゲスト OS (Debian GNU/Linux) 上にインストール するという方法もある。

レポート課題 2025/10/22

「レポート課題 2025/09/24」と同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/#10-7

質問

- 教授がよく使うコマンドは何ですか

私がよく使う Debian GNU/Linux のパッケージを以下のページで紹介しています。

100 Tools for Your Joyful Computer Life
https://lsnl.jp/~ohsaki/research/100-tools/

要望

- 今回の授業でxpywmとX ウィンドウシステムの操作を通して、環境を自分で整える面白さを体験しました。その際、TAさんがEmacsをインストールしてくださいました。自分ではまだ実際に使えていませんが、今後は自分でも操作してみて、どのような点が便利なのかを体験的に理解していきたいと思います。もし可能であれば、Emacs以外にもインストール可能で、初心者にも扱いやすいテキストエディタがあれば、授業内で少し紹介していただけると嬉しいです。

 メジャーなのは、(初心者向きではありませんが) Emacs に加えて、vim、Atom、
 Visual Studio Code あたりです。

 Text editor
 https://en.wikipedia.org/wiki/Text_editor

 List of text editors
 https://en.wikipedia.org/wiki/List_of_text_editors

 初心者向けのものも多数ありますが、一生情報工学の初心者であり続ける予定でなけ
 れば、玄人向けのものを学ぶことをおすすめします。
 

チャレンジ課題

- X サーバの起動時に実行されるスクリプト ~/.xinitrc を読んでみよ。

- xlsfonts(1) を実行して、どのようなフォントが利用可能かを調べよ。

- xlsfonts -fn '-*-fixed-*' を実行して、どのような固定幅フォントが利用可能かを調べよ。

- 「urxvt -fn フォント名」によって好みのフォントで urxvt を起動せよ。

- X サーバのリソース設定ファイル ~/.Xdefaults を読んでみよ。

- ~/.Xdefaults を変更し、urxvt のカーソルおよび文字の色を好みのものに変更せよ。

- ~/.Xdefaults を変更し、Emacs のカーソルの色を好みのものに変更せよ。

- X サーバのキー定義ファイル ~/.Xmodmap を読んでみよ。

- xev(1) コマンドを用いて、Windows キーのキーコードを調べよ。

- ~/.Xmodmap を編集し、Windows キーを Meta_L キーに割り当てよ。

- ~/.xinitrc から起動している redshift が何をするプログラムかを調べよ。

- pkill redshift で redshift のプロセスを終了すると何が変化するか調べよ。

- ターミナル上で tail -f /tmp/xpywm.log を実行し、ウィンドウをいろいろ操作してみよ。ここで表示されるメッセージが何を意味するものかを推測せよ。

- xpywm の設定スクリプト ~/.xpywmrc を読んでみよ。

- Alt + Ctrl + F9 を押すと好みの音楽がシャッフル再生されるように設定せよ。

- Shift + Print を押すとデスクトップの画面ダンプを取得するように設定せよ。

- 18 ドットのビットマップフォントである ~lib/fonts/hiro18maru.bdf を読んでみよ。

- ~lib/fonts/hiro18maru.bdf の STARTCHAR 0065 から始まる行はフォント A の外形の定義である。データを書き換えて、A のフォントのデザインを好みのものに変更せよ。

[<13. シェル (ファイル操作、リダイレクト、パイプ)] [>15. エディタ (Emacs チュートリアル)]