mieki256's diary



2024/08/29(木) [n年前の日記]

#1 [debian][linux][icewm] Debian 12にIceWMをインストールして色々設定

昨日に続けて作業中。Windows10 x64 22H2 + VMware Workstation 17 Pro 17.5.2 build-23775571 上で動かしている Debian Linux 12 Bookworm 上で、IceWM というウインドウマネージャをインストールしてみた。

sudo apt install icewm icewm-common

一度ログアウトして、LightDM 上で IceWM Session を選んでからログインすると、IceWM が表示される。

メニューの文字列が表示されない問題 :

IceWM のスタートメニュー(スタートボタンをクリックしたときに表示されるメニュー)内で、各項目を示す文字列がほとんど表示されなかった。英数文字は表示されているけれど、日本語文字列が一切表示されていない。使われているフォントが英語フォントで、日本語フォントではないのだろう。

他のテーマを選ぶことで、日本語文字列が表示される状態になったりもするけれど、今度はダイアログの文字列が表示されない。例えばログアウト用のダイアログ内が何も表示されてなかったりする。これも利用してるフォントの問題だろう。

~/.icewm/preferences が設定ファイルらしいので、新規作成して、以下を記述して、フォント指定をしてみたところ、メニュー内の日本語文字列も表示されるようになった。
TimeFormat="%Y/%m/%d(%a) %H:%M:%S"
WorkspaceNames=" 1 ", " 2 "
MenuMouseTracking=1
OpaqueResize=0
OpaqueMove=0

TitleFontName="IPAPGothic:size=12"
TitleFontNameXft="IPAPGothic:size=12"
MenuFontName="IPAPGothic:size=10"
MenuFontNameXft="IPAPGothic:size=10"
StatusFontName="IPAGothic:size=12:bold"
StatusFontNameXft="IPAGothic:size=12:bold"
QuickSwitchFontName="IPAGothic:size=12:bold"
QuickSwitchFontNameXft="IPAGothic:size=12:bold"
NormalButtonFontName="IPAPGothic:size=12"
NormalButtonFontNameXft="IPAPGothic:size=12"
ActiveButtonFontName="IPAPGothic:size=12:bold"
ActiveButtonFontNameXft="IPAPGothic:size=12:bold"
NormalTaskBarFontName="IPAPGothic:size=10"
NormalTaskBarFontNameXft="IPAPGothic:size=10"
ActiveTaskBarFontName="IPAPGothic:size=10:bold"
ActiveTaskBarFontNameXft="IPAPGothic:size=10:bold"
ToolButtonFontName="IPAPGothic:size=12"
ToolButtonFontNameXft="IPAPGothic:size=12"
NormalWorkspaceFontName="IPAPGothic:size=12"
NormalWorkspaceFontNameXft="IPAPGothic:size=12"
ActiveWorkspaceFontName="IPAPGothic:size=12"
ActiveWorkspaceFontNameXft="IPAPGothic:size=12"
MinimizedWindowFontName="IPAPGothic:size=12"
MinimizedWindowFontNameXft="IPAPGothic:size=12"
ListBoxFontName="IPAPGothic:size=12"
ListBoxFontNameXft="IPAPGothic:size=12"
ToolTipFontName="IPAPGothic:size=12"
ToolTipFontNameXft="IPAPGothic:size=12"
ClockFontName="IPAGothic:size=10"
ClockFontNameXft="IPAGothic:size=10"
ApmFontName="IPAGothic:size=12"
ApmFontNameXft="IPAGothic:size=12"
InputFontName="IPAGothic:size=12"
InputFontNameXft="IPAGothic:size=12"
LabelFontName="IPAPGothic:size=12"
LabelFontNameXft="IPAPGothic:size=12"

最初のあたりは、以下を指定してる。
  • 時刻表示の書式。"2024/08/29(木) 20:45:10" といった記述。
  • ワークスペース数を4つから2つに減らした。
  • マウスカーソルが項目の上に乗っただけでメニューが開かれるようにしている。
  • ウインドウを移動したりリサイズする時に枠のみを表示。

フォントについては、IPAPGothic、もしくは IPAGothic を指定している。以下でフォントをインストールできる。
sudo apt install fonts-ipafont

もしかすると、フォントについては、sans-serif や monospace を指定してもいいのかもしれない。

余談。フォントを選ぶときは、font-manager、もしくは gnome-font-viewer でフォントを閲覧すると便利かも。
sudo apt install font-manager gnome-font-viewer
font-manager &
gnome-font-viewer &

背景画像の変更 :

icewmbg を使えばできるらしい。

_icewmbg(1) | man

以下は既に動いてる icewmbg を置き換えつつリスタートする指定。
icewmbg -p -r

以下は画像を指定して変更する例。
icewmbg --center=0 --scaled=1 -i /home/UERS/hoge.jpg

しかし、~/.icewm/preferences に、どの画像を背景画像として使うのか指定してみても、反映してくれない…。
DesktopBackgroundCenter=0
DesktopBackgroundScaled=1
#DesktopBackgroundColor="#3a6ea5"

DesktopBackgroundImage="/home/(USERNAME)/Pictures/wallpapers/bg.jpg"

ググったところ、標準でインストールされている /usr/share/icewm/themes/ 以下のテーマを利用している場合、テーマ側の設定で、~/.icewm/preferences 内の背景画像指定が上書きされてしまうらしい。一旦自分のホームフォルダ内に themes/ を全部コピーして、利用したいテーマファイル内で背景画像を指定しないように修正してしまえば解決しそう。
cp -r /usr/share/icewm/themes ~/.icewm/
cd ~/.icewm/themes/default/
vi default.theme

背景画像の変更スクリプト :

以下のページで、背景画像を簡単に変更できるようにするシェルスクリプトが提示されてたので利用させてもらった。ありがたや。

_ubulog: icewmの壁紙を変える
icewmbg-changer.sh
or
icewmbg-changer.sh /home/(USERNAME)/Pictures/wallpapers/bg.jpg

余談。これは自分のミスだけど、うっかり改行コードを CRLF にして保存してしまって、「必要なプログラムがないから実行できない」みたいなメッセージが出てきて悩んだ…。Linux上では改行コードを LF にすることをすっかり忘れてた…。

ちなみに、改行コードの変換には dos2unix が使える。
sudo apt install dos2unix

_Debian -- bookworm の dos2unix パッケージに関する詳細
_dos2unixコマンドでwindowsファイルを変換する【Linuxコマンド】 - プログラミング学習サイト

Debianの場合、dos2unix というパッケージの中に、dos2unix, unix2dos, mac2unix, unix2mac などが入ってる。

スクリプトが動作したので、せっかくだから Rox-filer にこのスクリプトを登録して呼び出せるようにした。Rox-filerで画像が入ったディレクトリを開く → 画像を選択して右クリック → Set IceWM background、を選べば背景画像の変更ができるようになった。

登録の仕方は…。
  1. Rox-filerで画像ファイルを右クリックして「メニューのカスタマイズ」を選ぶ。
  2. 別ディレクトリが開かれて、「この中にシンボリックリンクを作れば登録される」と表示される。
  3. 前述のスクリプトをドラッグアンドドロップすると、コピー、移動、シンボリックリンク作成、等のメニューが表示されるので、シンボリックリンクを作成。
  4. もしくは、「シンボリックリンクを作れ」と指示されたディレクトリ内で ln を使ってシンボリックリンクを作成。

ln -s /home/(USERNAME)/bin/icewmbg-changer.sh "Set IceWM background"

Windowsも、SendTo フォルダ内にショートカットファイルを作れば、エクスプローラ上の「送る」メニューの項目が増えるわけだけど、それと似たようなものだと思う。Windowsのショートカットファイル ≒ Linuxのシンボリックリンクと思っておけばいい。(厳密には色々違うはず。Windowsにもシンボリックリンクはあるので…。)

画面解像度の変更 :

IceWMの画面解像度が狭い。arandr を使って解像度を変更した。Debian Linux の場合、arandr は以下でインストールできる。
sudo apt install arandr

画面解像度を変更できることを確認後、保存ボタンを押すとシェルスクリプト(.sh)として保存できる。今回は ~/.screenlayout/display.sh として保存。このシェルスクリプト内では、xrandr を呼び出して画面解像度を変更するように記述されている。

IceWM の startup ファイルに、上記のファイル(display.sh)を呼び出すように記述しておけば、ウインドウマネージャが表示された直後に画面解像度が変更される。Debian の場合は以下だろうか。startupファイルを新規作成して、実行権限を与えて、内容を修正。
cd ~/.icewm
touch startup
chmod +x startup
vi startup

追記する内容は以下。
/home/(USERNAME)/.screenlayout/display.sh &

ただ、この設定をしても、画面解像度は変わるものの、それに合わせて背景画像のリサイズは行われなかった。おそらく、背景画像を表示し終わった後で、画面解像度の変更が行われてしまうから、背景画像のサイズがおかしいままになるのではないか。

icewmbg を使えば背景画像について色々と指示が出せるので、~/.icewm/startup に記述して、画面解像度の変更後に呼ばれるようにしてみた。内容としては以下のようになった。
/home/(USERNAME)/.screenlayout/display.sh &
sleep 1
icewmbg -r &
/usr/bin/vmware-user &

icewmbg を即座に呼んでしまうと反映されなかったので、sleep を使って1秒ほど待ってから呼ぶようにしてみたら、それらしく反映された。

ちなみに、今回は VMware上でDebian Linuxを動かしてるので、クリップボード共有をするために、/usr/bin/vmware-user & も呼んでいる。

※ 2024/08/31追記。実機 + Ubuntu Linux 22.04 LTS の場合、icewmbg -r & では反映されなかったけど、icewmbg -p & なら反映された。

参考ページ :


以上です。

過去ログ表示

Prev - 2024/08 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project