无法设置自动启动脚本

无法设置自动启动脚本

我一直在尝试设置一个自动启动脚本以在桌面登录时启动(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=

请参阅桌面入口文件的官方文档这里

希望这对解决这个问题以及将来的其他问题有所帮助:)。

相关内容