我一直在尝试设置一个自动启动脚本以在桌面登录时启动(Kubuntu)
我尝试通过启动应用程序 GUI 添加脚本,并且确实添加了它,但是脚本不起作用。而且,什么都没有发生
所以我手动创建了一个 .desktop 文件,并将其移动到 ~/.config/autostart/
可以在这里看到:
[Desktop Entry]
Comment[en_GB]=A startup scipt to start a minecraft server on Desktop log in
Comment=A startup scipt to start a minecraft server on Desktop log in
Exec=/home/awakenmagic/Desktop/StartMCServer.sh
GenericName[en_GB]=
GenericName=
Icon= MimeType= Name[en_GB]=Maciej Name=Maciej Path=
StartupNotify=true
Terminal=false
TerminalOptions= Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-GNOME-Autostart-enabled=true
X-KDE-SubstituteUID=false
X-KDE-Username=
然后我尝试手动查看运行时的输出。所以我运行了这个命令来启动该脚本:
~/.config/autostart/ServerStartup.desktop start
然后弹出如下内容:
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 1: [Desktop: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 2: `Comment[en_GB]': not a valid identifier
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 2: startup: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 3: startup: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 16: X-DBUS-ServiceName=: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 17: X-DBUS-StartupType=: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 18: X-GNOME-Autostart-enabled=true: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 19: X-KDE-SubstituteUID=false: command not found
/home/awakenmagic/.config/autostart/ServerStartup.desktop: line 20: X-KDE-Username=: command not found
我在使用它创建的自动启动默认 .desktop 文件时遇到了同样的错误,并且发生了同样的事情
有人可以帮忙吗?
谢谢
编辑1:
我想创建那个自动启动程序,它将在启动时启动我的脚本文件,因此,当我通过 GUI 将该脚本添加到登录时启动时,在 ~/.config/autostart/ 文件夹中创建了包含我实际脚本的可执行路径的 .desktop 文件,它给了我那些错误
编辑2:
我确实在没有启动的情况下测试了我的脚本,它运行良好,没有任何问题,它在 tmux 会话中启动了我的服务器,我不明白为什么我会收到像 [桌面:未找到命令,或评论[en_GB]`: 不是有效的标识符
这是我的.sh 中的脚本:
#!/bin/bash
tmux new -s MCServer 'cd MinecraftServer/; bash --init-file ./run.sh'
这可能是因为我已将目录移动到“MinecraftServer”,并且启动脚本从不同的目录或类似的目录启动而不是“桌面”?
我仍在学习很多有关 Linux 的知识,这有点痛苦,哈哈
编辑3:
有没有办法查看尝试运行的脚本的输出?我可以尝试读取输出并找出导致问题的原因,我可能编写了错误的代码?
答案1
只需转到应用程序抽屉并输入“启动”(这里使用荷兰语 GUI,因此只需猜测您使用的语言是什么)或其他内容,即可打开登录后要启动的应用程序列表。然后添加一个并/home/awakenmagic/Desktop/StartMCServer.sh
在命令行字段中指向您的脚本。然后给它一个名称,并可能提供一个描述以供将来参考。
由于给定的脚本已经可以执行,因此无需.desktop
先创建文件(我推测,否则可以使用 使其可执行chmod u+x
)。
在启动应用程序列表中添加条目时,Ubuntu 将为.desktop
您创建一个文件。它们存储在 中~/.config/autostart
。之后您可以查看创建的.desktop
文件是什么样子的。
如果您确实创建了桌面文件(无论出于何种原因),请将其放在正确的文件夹(eq ~/.local/share/applications
),它就会出现在您的应用程序抽屉中。
问题中给出的.desktop
-file 似乎不正确,因为同一行上有很多条目,这些条目应该用换行符分隔。例如:
Icon= MimeType= Name[en_GB]=Maciej Name=Maciej Path=
应该
Icon=
MimeType=
Name[en_GB]=Maciej
Name=Maciej
Path=
请参阅桌面入口文件的官方文档这里
希望这对解决这个问题以及将来的其他问题有所帮助:)。