在三星 N145 上网本上运行 lubuntu 桌面。
我得到了/etc/xdg/lxsession/Lubuntu/autostart
并添加了行
@home/magpie/touchpad_settings.sh
我的文件名是 touchpad_settings.sh,如果单击然后执行,它就会执行并起作用。
这意味着我无法再登录并获取我的面板,因此我用 USB 启动程序撤消了它,并来到这里看看是否有人可以澄清。
Lubuntu 不使用启动管理器,这是一个自制文件,因此它也不会出现在桌面会话设置中。
正如下面的答案所建议的那样,我尝试过
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/bin/sh /home/magpie/touchpad_settings.sh
exit 0
我也尝试过以下几行:
/bin/bash /home/magpie/touchpad_settings.sh
和
sh /home/magpie/touchpad_settings.sh
但不起作用。
答案1
在文件管理器中,转到/usr/share/applications
。使用 root 权限打开它(工具 -> 以 root 权限打开当前文件夹)
在根访问文件管理器窗口中,创建一个新文件(文件 -> 新建 -> 空白文件)
将新文件命名为 touchpad.desktop。
找到您新创建的文件,右键单击它,使用 leafpad 对其进行编辑。
在 leafpad 中,粘贴以下内容:
[Desktop Entry]
Name=Touchpad Autostart
Exec=/home/magpie/touchpad_settings.sh
Type=Application
Terminal=false
保存。如果无法保存,则表示您不在具有 root 访问权限的窗口中。重新开始并仔细按照说明操作。
再次,在根访问文件管理器窗口中找到您的文件。右键单击并复制。
现在将根窗口导航到自动启动文件夹:
/etc/xdg/autostart/
最后,粘贴您之前创建的桌面文件。
如果你做的所有事情都正确无误,你应该会看到很多其他自动启动文件,但你也会看到文件“Touchpad Autostart”
这不是最快的方法,但你似乎在其他答案中遇到了很多步骤,所以我想慢慢来,提供很多细节。如果你的脚本在重新启动后仍然没有运行(不要简单地注销并重新登录),那么你的脚本有问题。也许再检查一下?
答案2
以 root 权限在编辑器中打开/etc/rc.local
,并在该文件的行前添加要在启动时执行的命令exit 0
。
就你的情况而言
sh home/magpie/myfile.sh
答案3
有几种方法可以做到这一点;最简单的方法可能是按照以下说明进行操作这一页和这个并在 .config 文件夹中创建一个名为 autostart 的文件夹,然后使用文本编辑器创建一个 .desktop 条目并将其保存在 autostart 文件夹中。桌面条目应包含以下行
[Desktop Entry]
Name=script.sh
Exec=/home/mike/script.sh
Type=Application
Terminal=false
另一种方法是使用该rc.local
文件:
通常,您需要将脚本的完整路径添加到rc.local
处的文件/etc/rc.local
;rc.local
只有在其他所有程序都启动后才执行,并且必须将其设置为可执行文件 ( sudo chmod +x
)(如果尚未执行)。(由于脚本归 root 所有,因此必须使用 Sudo,这就是为什么有些人可能认为 root 启动用户脚本存在安全问题,但对于家庭桌面用户来说,使用此方法是合理的rc.local
。)
但是,请确保将 保留exit 0
为 rc.local 脚本的最后一行:例如,我的 rc.local 文件包含一个脚本和另外两个命令的位置。如果您想确保您的脚本由/bin/sh
或运行/bin/bash
,请将其放在路径前面;例如/bin/bash /home/mike/script
。
最后,使用sudo vi /etc/rc.local
或gksudo gedit /etc/rc.local
编辑文件。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
# my script here
/bin/bash /home/mike/bin/script
exit 0
答案4
您刚才在以下行中使用了错误的路径/etc/xdg/lxsession/Lubuntu/autostart
:
@home/magpie/touchpad_settings.sh
将@
被删除,其余部分作为 shell 命令执行。
它使用相对路径:
home/magpie/touchpad_settings.sh
因此,如果当前工作目录是/home/magpie
,则它运行的脚本是/home/magpie/home/magpie/touchpad_settings.sh
添加一个/
来修复它,并确保脚本具有执行权限:
@/home/magpie/touchpad_settings.sh
(这@
意味着如果它退出,它将重新启动。)