言語の設定でエラーになる

システム設定→言語サポート(国連の旗)で言語として日本語を最上位に設定しようとするとエラーで設定画面が異常終了してしまう。その他ユーザアカウント操作時のロック解除もできない。環境変数でLANGなどを日本語に設定しているので、実用上日本語で動作しているので困ることはないが、前から気になっていた。EC2で使用しているイメージはUbuntu 12.04である。自宅のPCでは12.10を使用していてこちらは問題ない。
いろいろ調べてみたらL、どうもローカルでログインする場合とリモートした場合とでは操作できる範囲(権限)に違いがあるらしい(当然ローカルの方が何でもできる)。PAMを良く調べれば良いと思うがなかなか難しい。
また、インスタンスを起動したらデスクトップも自動で起動しているほうが便利ということもあって、起動時の設定を触ることにした。

起動時の設定は/etc/initにUpstartのスクリプトを書くことになっているが面倒(と言うか分からない)なので昔ながらの/etc/init.dにシェルを書いて/etc/rc2.dからリンクするスタイルで起動する。
よく見たら/etc/init.dにvncserverと言うスクリプトがインストールされている。しかし、Ubuntuと会わないのでこのままでは使えない。修正しようかとも思ったが自システムに特化したスクリプトを用意することにした。
/etc/init.d/vncserverはこんな感じ。
--こ-こ-か-ら-----------------------------------------------------------
#!/bin/bash
prog="Xvnc"
desc="TigerVNC remote Desktop"

start() {
echo "TigerVNC remote desktop"
su - ユーザー名 -c "vncserver :0 -geometry 1280x800 -localhost -SecurityTypes None"
RETVAL=1
}

stop() {
echo "Shutting down Xvnc remote desktop"
su - ユーザー名 -c "vncserver -kill :0"
RETVAL=1
}

restart() {
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
esac

exit $RETVAL
--こ-こ-ま-で-----------------------------------------------------------
/etc/rc2.dにS89vncserver -> ../init.d/vncserverとリンクを張ってファイル属性に実行を付加して出来上がり。
ところがこれだとこれまでと同様リモートからのログイン扱い。

次に考えたのが/etc/rc.localからの起動。

--こ-こ-か-ら-----------------------------------------------------------
swapon /pagefile
su - ユーザー名 -c /home/ユーザー名/autostart-vnc &
exit 0
--こ-こ-ま-で-----------------------------------------------------------

~/autostart-vncの内容は
--こ-こ-か-ら-----------------------------------------------------------
#!/bin/sh
Xvnc :0 -geometry 1280x800 -SecurityTypes none -localhost 2> .vnc/Xvnc.0.log &
export XvncPid=$!
export DISPLAY=:0
sleep 5
vncconfig -nowin &
gnome-session-fallback 2> .xsession-errors
kill -term $XvncPid
unset DISPLAY
unset XvncPid
--こ-こ-ま-で-----------------------------------------------------------
ちょっと強引か。

なお、EC2インスタンスへはsshでログインしポート5900をトネリングしている。なので、Xvncに-localhostを指定してSecurityTypesはNoneとしている。

だが、シャットダウンがログオフになるとかまだおかしい...
また、パスワードでログインしていないのでキーリングの解除がデスクトップ開始時にできていないなど、まだ改善の余地も。おいおい調べて改善していく。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。