4

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 を設定するにはどうすればよいですか?

4

1 に答える 1

5

まだ利用可能なセッションがないときにスクリプトが実行される可能性があります。

それがライブ CD であり、それを制御できる場合、スキーマのデフォルト値を変更することができます。vino の場合、 のデフォルト値を変更する必要があります/usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

于 2012-08-03T20:44:56.343 に答える