我有一个pxe服务器,该服务器托管Ubuntu 12.04的实时镜像,我想在其上启用VNC。
通常,我将使用以下命令执行此操作:
$ gsettings set org.gnome.Vino已启用true
但是,由于此实时操作系统位于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?
最佳答案
当仍然没有 session 可用时,脚本可能会运行。
鉴于它是实时CD,并且您可以控制它,因此您可能希望更改架构中的默认值。对于vino,您应该更改/usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
中的默认值。