我在 Lubuntu (15.04) 桌面上创建了一个 shell 脚本 (test.sh)。权限为:仅所有者(查看内容 + 更改内容 + 执行)。
当我双击 test.sh 时,我选择“在终端中执行”。终端 (LXTerminal) 打开了,但脚本并未执行。
当我输入时,./test.sh
脚本就会执行。但这不是我想要的。这个问题的解决方案是什么?
答案1
听起来你的脚本缺少一行代码。确保脚本的第一行是:
#!/usr/bin/env bash
或者
#!/bin/bash
附言一下,你应该避免.sh
在 bash 脚本中添加扩展名,因为 bash 不是 sh。最好根本不使用扩展名。
答案2
这听起来像是一个已知的、现有的错误:lubuntu-default-settings 没有指定在终端中执行的正确命令
该错误报告建议采用以下解决方法(改用 X-terminal)。
解决方法:
在 pcmanfm 首选项中,在高级选项卡下,将终端更改为
"x-terminal-emulator -e %s"
。您还可以更改 ~/.config/libfm/libfm.conf 中的“终端”值。
我以前使用过的另一种解决方法是创建桌面快捷方式 - 但这样你就只能双击桌面了。
要创建快捷方式,您可以运行以下命令:
lxshortcut -o ~/Desktop/test.sh
(其中 test.sh 是您希望文件在桌面上的名称。)
这将打开 lxshortcut,它将根据您在 GUI 中的响应创建一个 .desktop 文件。