我正在尝试制作一个在启动时运行交互式 shell 脚本的实时 usb。我正在使用 Ubuntu 自定义套件 (uck)、xubuntu-14.04.3-desktop-i386.iso 和 syslinux(以便 uck 可以构建最终 iso)。
这个交互式脚本从命令行读取答案并运行图形应用程序,所以 xfce4 是自定义包之一,我安装脚本的方式是创建这个文件:
/home/xubuntu/.config/autostart/terminal.desktop
(xubuntu 是 live cd 上的默认用户)
内容如下:
[Desktop Entry]
Type=Application
Name=Terminal autoarranque
Exec=xfce4-terminal -e /usr/bin/myscriptfolder/myscript.sh
X-GNOME-Autostart-enabled=true
但正如https://help.ubuntu.com/community/LiveCDCustomization,
“您无法直接编辑 Live CD 用户(例如 Casper、ubuntu 或用户)的默认设置,因为该帐户是在启动时创建的”
所以,我不知道如何让 xfce 终端运行以启动交互式脚本。如果我采用前一种方式,则从 USB 启动时会出现以下错误:
Unable to load a failsafe session
Unable to determine failsaafe session name. Possible causes: xfconfd isn't running (D-Bus setup problem); environment variable $XDG_CONFIG_DIRS is set incorrectly (must include */etc*), or xfce4-session is installed incorrectly.
如果我在根文件夹上创建 terminal.desktop,当 Xubuntu 启动时,什么都不会发生,因为它不是用户会话。
有什么帮助吗?非常感谢。
(如果我在已安装的 Xubuntu 上测试我的脚本,登录后它可以正常运行)
编辑:
有什么办法可以让 live-cd 以自定义用户启动吗?
答案1
感谢 sixsixfive (https://forum.xfce.org/viewtopic.php?id=10029),我尝试在 xfce 会话启动之前创建桌面文件(我不知道 xubuntu 用户的“即时”主目录此时已经存在)。因此,如果我将其添加到 /etc/xdg/xfce4/xinitrc 文件中,就在“xfce4-session”命令之前,它就可以工作。
mkdir -p /home/xubuntu/.config/autostart
cat > /home/xubuntu/.config/autostart/terminal.desktop <<MYEOF
[Desktop Entry]
Type=Application
Name=Terminal autoarranque
Exec=xfce4-terminal -e /usr/bin/myscriptfolder/myscript.sh
X-GNOME-Autostart-enabled=true
MYEOF
sudo chmod 777 /home/xubuntu/.config/autostart/terminal.desktop