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

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) (名前、変数、式)
18. Python 言語 (2) (文、スコープ、サブルーチン)
19. Python 言語 (3) (オブジェクト指向プログラミング)
20. 最終レポート課題 (実施報告書)
21. シミュレータ解説 (1) (概要、エージェント)
22. シミュレータ解説 (2) (モビリティ、可視化)
23. ソフトウェア設計・実装

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

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

2024/09/25 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2024/#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 として保存 (新規作成)

レポート課題 2024/10/23

「レポート課題 2024/09/25」と同じ。

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

コメント

- 課題4について、error: cannot recognize version merkerwarning: trying to repair broken xrefwarning: repairing PDF documenterror: no objects foundmupdf: error: cannot open documentと表示されPDFが開けませんでした。

エラーメッセージを見る限り、正しい PDF ファイルではないのでしょう (壊れてい
る、別のファイル形式など)。

要望

- qutebrowserで日本語入力をする方法を教えていただけますか。

X ウィンドウシステムで日本語入力できるようにすればよい (そうすれば自動的に
qutebrowser でも日本語入力できるようになる) のですが、X ウィンドウシステムの
日本語入力はやや複雑です。

まず、Emacs 上で SKK で日本語入力できるようになることから始めるのがよいと思
います。

- どのようにすればよいかわからないチャレンジ課題もあったので、略解や解答例を出していただけると嬉しいです。また、調べても解決しなかったため、Alt+Ctrl+2,3の実行がうまく出来ない理由を教えていただけたら幸いです。

解答例は用意していないので、どうしてもわからない/できないものがあれば個別に
質問してください。Ctrl + Alt + 2 や Ctrl + Alt + 3 が実行できないのは、Emacs
や Firefox がインストールされてないからだと予想します。

チャレンジ課題

- 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 チュートリアル)]