Ubuntu 12.04 のライブ イメージをホストする pxe サーバーがあり、VNC を有効にしたいと考えています。
通常、次のコマンドでこれを行います。
$ gsettings set org.gnome.Vino enabled true
ただし、このライブ OS は RAM に存在するため、起動時に毎回これを行う必要があります。問題は、何らかの理由で /etc/init.d/ のスクリプトでは機能しないことです...私の人生では、このコンテキストで gsettings が機能しない理由を理解できません..
参考までに、これは私が /etc/init.d で使用しているスクリプトです。
#!/bin/bash
log=/var/log/gsettings.log
#Needed for some reason.. received info from http://stackoverflow.com/questions/10374520/gsettings-with-cron
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export $(grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d')
set_gsettings()
{
echo "Inside set_gsettings" >> $log
#Enable vino
gsettings set org.gnome.Vino enabled true 2>&1 >> $log
gsettings set org.gnome.Vino prompt-enabled false 2>&1 >> $log
}
case "$1" in
start)
echo "Inside IT-gsettings" >> $log
set_gsettings
;;
restart|reload|force-reload)
/etc/init.d/IT-gsettings start
;;
stop)
:
;;
*)
log_success_msg "Usage: /etc/init.d/IT-gsettings {start|stop|restart|reload|force-reload}"
exit 1
;;
esac
exit 0
要するに、起動時に gsettings を設定するにはどうすればよいですか?