我尝试在用户使用 GUI 登录计算机后启动一个脚本。此脚本需要用户通过终端输入。我尝试了以下操作
~/.config/autostart 中的 .desktop 文件 --> 不起作用
使用此功能时,输出与终端中运行的脚本的输出不同。它会关闭打开的应用程序,并且 vpn 会断开网络连接。使用普通终端时,不会发生上述情况。
我的桌面环境是xubuntu 版本20.04。
#!/bin/bash
echo "........ Start Up Script ........."
echo "sudo priveledges necessary for VPN"
#Connect VPN to Server in Czech Republic
sudo protonvpn c --cc CZ
#Prompt To Mount Encrypted Files
read -p 'Mount Encrypted Files? [ y/n ] ' encryptedmount
case $encryptedmount in
[Yy]* ) veracrypt -t -k "" --pim=0 --protect-hidden=no /media/peterthegreat/Main_Data/Files /media/veracrypt1; break;;
[Nn]* ) ;;
esac
# Prompt To Update Packages
read -p 'Upgrade and Update System? [ y/n ] ' upgradeandupdate
case $upgradeandupdate in
[Yy]* ) apt-get update && apt-get upgrade; break;;
[Nn]* ) ;;
esac
#Prompt to Open Tilix
read -p 'Open Tilix? [ y/n ] ' til
case $til in
[Yy]* ) cd /home/peterthegreat; tilix --session=~/Documents/Start_Up/TilixSetup.json -e &;;
[Nn]* ) ;;
esac
disown %1
#Prompt to Open Firefox
read -p 'Open Firefox? [ y/n ] ' firefox
case $firefox in
[Yy]* ) firefox &;;
[Nn]* ) ;;
esac
disown %1
echo "....... Done ......."
谢谢
答案1
看一下.desktop 文件规范—— 它不期望 bash 脚本。
你的 .desktop 文件需要看起来像
[Desktop Entry]
Type=Application
Exec=<path to your bash script>
Terminal=True
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_GB]=VPN
Comment[en_GB]=Creates a VPN
X-GNOME-Autostart-Delay=9
其中“bash 脚本的路径”指向您在问题中显示的脚本(最好保存在 /usr/local/bin 中)