Category Archives: XDM

xdm ログイン画面に背景を付ける

今日やったことは、xdm のログイン画面の色を変えたり、背景画像を付けてみたりした。

まずは、いつものログイン画面。これの色を変えてみる。

色を変える場合は Xresources を変更する。

/usr/local/lib/X11/xdm/Xresources

#ifdef COLOR
xlogin*borderWidth: 1
xlogin*frameWidth: 1
xlogin*innerFramesWidth: 1
xlogin*shdColor: #ff99ff
xlogin*hiColor: #ff99ff
xlogin*background: #ffddff
!xlogin*foreground: darkgreen
xlogin*greetColor: #6699ff
xlogin*failColor: red
*Foreground: #666666
*Background: #ffffff
#else

・・・・・

#endif

 ↑こうすると、↓こうなる。

次に、背景画像を変更する。

一部、設定変更をする必要がある。手っ取り早くやる。まずは、xdm-config を一部変更する。

/usr/local/lib/X11/xdm/xdm-config

DisplayManager*setup:        /usr/local/lib/X11/xdm/Xsetup_0
DisplayManager*startup:      /usr/local/lib/X11/xdm/GiveConsole
DisplayManager*reset:        /usr/local/lib/X11/xdm/TakeConsole

そして、Xsetup_0 に画像表示プログラムを追記(例では /home/image.jpg としている)。

/usr/local/lib/X11/xdm/Xsetup_0

#!/bin/sh
display -window root /home/image.jpg
xconsole -geometry 480×130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail

と、いうことで、今回の結果。

 

display コマンドは、たまたま入っていたもの。変わりに xsetroot などを使ってもよい。

 

[ /usr/local/lib/X11/xdm/xdm-config について ]

ハマったのでメモ。

もし、特定の端末( Xming を使っているパソコンなど ) だけログイン画面を変更したい場合は、

/etc/hosts

192.168.0.200    xmingPC

などとクライアントコンピュータの名前解決をしておいて、

/usr/local/lib/X11/xdm/xdm-config

DisplayManager.xmingPC_0.setup:        /usr/local/lib/X11/xdm/Xsetup_0
DisplayManager.xmingPC_0.startup:      /usr/local/lib/X11/xdm/GiveConsole
DisplayManager.xmingPC_0.reset:        /usr/local/lib/X11/xdm/TakeConsole

とする。

Xming for Windows インストール

1) Xming ダウンロード

Xming X Server for Windows

2) Windows 7 にセットアップ

 ex : Xming-6-9-0-31-setup.exe

3) C:\Program Files\Xming\X0.hosts に加筆

 C:\Program Files\Xming\X0.hosts に接続先IPアドレスを書いておくと後でつまずかない。

4) XLaunch から起動

* Open session XDMCP を選択。

* -screen 0 1024 640 ( ディスプレイ解像度は好きなように )

 Save configuration を押しておけば幸せ。

 

pkg_add -r xorg と x11/xdm - ディスプレイマネージャ (in a jail)

jail 環境で ports x11/xorg からの make でエラーが出たので、package を試してみることにした。 

(参照:6.3 X11のインストール

# pkg_add -r xorg

port で make した時はエラーが出たが、さすが package 。難なく入ったっぽい。 

/etc/rc.conf に下記を追加。

hald_enable=”YES”
dbus_enable=”YES”

続けて、xdm をインストールする。

# cd /usr/ports/x11/xdm
# make config-recursive
# make install clean

 /etc/ttys

#ttyv8  “/usr/local/bin/xdm -nodaemon”  xterm   off secure
ttyv8   “/usr/local/bin/xdm -nodaemon”  xterm   on secure

/usr/local/lib/X11/xdm/Xaccess

#*                                     #any host can get a login window
*                                       #any host can get a login window

XDMCP プロトコルで接続するので↓

/usr/local/lib/X11/xdm/xdm-config

!DisplayManager.requestPort:    0
DisplayManager.requestPort:     177

ログインするユーザのディレクトリに .xsession を作る。-geometry のサイズは画面サイズに合わせて中央に設定しているだけ。パーミッションは644 でOK。

#!/bin/sh

xterm -geometry 80×40+269+57

 

 で、再起動後、別PC にインストールしてある Xming で試してみた、が接続できない。

# ps aux

xdm が起動していなかった

 

ので・・・、

暫定的に FreeBSD 起動時にサービスを起動させてみる。 xdm が自動起動するように、

 /usr/local/etc/rc.d/xdm.sh を作って、パーミッションを 755 にする。

#!/bin/sh

/usr/local/bin/xdm

/etc/ttys の記述を戻す。

ttyv8  “/usr/local/bin/xdm -nodaemon”  xterm   off secure
#ttyv8   “/usr/local/bin/xdm -nodaemon”  xterm   on secure

で、再起動。

# ps aux

xdm が起動したので 別PC の Xming から接続を試みる。

 

動いた!

/usr/local/etc/rc.d/xdm.sh を作ったが、場当たり的なモノなのだから。