[FAQ]有关 Ubuntu 桌面图标调用 shell 脚本

16 views
Skip to first unread message

Zoom.Quiet

unread,
May 20, 2019, 3:12:51 AM5/20/19
to shlug, szlug, gz...@googlegroups.com
> 背景

- 用 PyQt4 写了个软件,主要功能已经完成
- 依赖 conda+OpenCV2 等等重型模块
- 好在已经完成可调用 .sh
- 在 GNOME Terminal 中直接使用
+ /path/2/myGUI.sh 形式
+ 可以执行, 并弹出 Qt 软件窗口


> 目标

- 将 python 运行的 GUI 软件变成标准桌面图标
- 用户双击图标, 即可弹出 Qt 构建的软件窗口


> 尝试


How to create desktop shortcut launcher on Ubuntu 18.04 Bionic Beaver
Linux - LinuxConfig.org
https://linuxconfig.org/how-to-create-desktop-shortcut-launcher-on-ubuntu-18-04-bionic-beaver-linux


根据文章, 手工或是使用 gnome-desktop-item-edit 创建 .desktop 声明,
都可以在桌面形成标准软件图标;

但是, 双击没任何反应,
并没形成 .sh 中记录的运行时日志

两种方式构建的 .desktop 主要差异只是首行是否有

#!/usr/bin/env xdg-open



desktop - How to launch shell script with double click in CentOS 7 -
Unix & Linux Stack Exchange
https://unix.stackexchange.com/questions/189777/how-to-launch-shell-script-with-double-click-in-centos-7

这里建议可以直接链接脚本本身

$ cd $HOME/Desktop
$ ln -s $HOME/bin/myscript.sh MyScript

只是没图标, 也可以接受,
但是,按照文章完成了部署,
到桌面点击依然没任何反应


其中 .desktop 声明文件中尝试过:

Exec=/path/2/myGUI.sh
Exec=gnome-terminal -e "bash -c '/path/2/myGUI.sh;$SHELL'"
Exec=gnome-terminal -e "bash -c '/path/2/myGUI.sh'"
Exec=gnome-terminal -e "bash /path/2/myGUI.sh"
Exec=bash /path/2/myGUI.sh
Exec=sh /path/2/myGUI.sh

都不能正常运行.



> 分析

How to Create a .Desktop File For Your Application in Linux - Make Tech Easier
https://www.maketecheasier.com/create-desktop-file-linux/
发现先决条件是在资源管理器中 right click 可以 run
才能用标准 .desktop 图标来调用;

测试发现当前自己写的 .sh 用这种形式无法运行;

这可能是桌面图标无反应的原因;

那么当前问题就变成:

- 终端中人工输入路径可以运行的 .sh 文件
+ 已经用 chmod a+x 指定可运行属性
- 为什么, 在 Files (GNOME 资源管理器)中, 右键菜单无法正常运行?
+ 以及这种情况, 如何调试 .sh ?

> refer

launcher - How to execute a script just by double clicking like .EXE
files in Windows? - Ask Ubuntu
https://askubuntu.com/questions/138908/how-to-execute-a-script-just-by-double-clicking-like-exe-files-in-windows

发现这种套在终端中运行的形式
Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"

解决原先脚本运行时问题




--
life is pathetic, go Pythonic! 人生苦短, Python当歌!
俺: http://zoomquiet.io
授: http://creativecommons.org/licenses/by-sa/2.5/cn/
怒: 冗余不做,日子甭过!备份不做,十恶不赦!
KM keep growing environment culture which promoting organization learning!

Zoom.Quiet

unread,
May 22, 2019, 7:41:23 AM5/22/19
to shlug, szlug, gz...@googlegroups.com
[\[FAQ\]有关点击 Ubuntu 桌面图标运行 shell 脚本 -
V2EX](https://www.v2ex.com/t/566460#reply2)


已经解决

Zoom.Quiet <zoom....@gmail.com> 于2019年5月20日周一 下午3:12写道:

chiachen

unread,
May 22, 2019, 8:52:39 AM5/22/19
to sz...@googlegroups.com, shlug, gz...@googlegroups.com
这里的Opencv是实现了什么功能?

Zoom.Quiet <zoom....@gmail.com> 于2019年5月22日周三 下午7:41写道:
--
您收到此邮件是因为您订阅了 Google 网上论坛的“Shenzhen (深圳) Linux Unix User Group”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到szlug+un...@googlegroups.com
要在网络上查看此讨论,请访问 https://groups.google.com/d/msgid/szlug/CAAFijRfeoVWWWf26-%2Bjj8fGFzZyyyAztRDL5SadgV-2Q%2BBhWrQ%40mail.gmail.com
要查看更多选项,请访问 https://groups.google.com/d/optout

Zoom.Quiet

unread,
May 22, 2019, 9:28:48 AM5/22/19
to szlug
chiachen <luoji...@gmail.com> 于2019年5月22日周三 下午8:52写道:
>
> 这里的Opencv是实现了什么功能?
>

业务功能, 主要是识别瞳孔什么的
> --
> 您收到此邮件是因为您订阅了Google网上论坛上的“Shenzhen (深圳) Linux Unix User Group”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到szlug+un...@googlegroups.com
> 要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/szlug/CAH_%2BV%3DdvMr8O7FpiZyKnbpTHazrThaTZvgpo4%2BYJQEa6inmQjA%40mail.gmail.com
> 要查看更多选项,请访问https://groups.google.com/d/optout
Reply all
Reply to author
Forward
0 new messages