ubuntu 新建脚本shell并增加图标 双击应用实现python运行

1.使用nano创建shell脚本文件

需要在终端窗口中输入"nano"以打开文本编辑器。

复制代码
nano

在创建脚本文件前,我们要了解脚本文件是如何运行的:

直接运行:直接在终端直接输入需要运行的脚本文件名称,系统或用缺省版本的shell运行脚本程序。

命令提示符中指定某个特定shell版本如:$bash script_name ,创定一个特定版本的临时子shell(此例为bash)来运行脚本程序,script_name是脚本文件名,会逐行执行脚本命令并依次输出结果。当脚本文件中的命令依次执行完毕,该临时子shell也自动结束运行,返回到用户原来使用的shell状态。

在脚本文件开头指定一个将要使用的shell:在脚本文件开头增添

复制代码
 #!/bin/bash

注意:#!必须顶格,后面接全路径,可以从/etc/shell中获得全部的可用shell及其绝对路径。

在这里我们运用第三种方式指定运行的shell。

在通常的shell脚本中,用井号(#)用作注释行,shell不会处理shell脚本中的注释行,但是第一行的#!/bin/bash是个例外。

在指定了shell后,就可以创建一个脚本,

复制代码
#!/bin/bash
#This is a simple script.

完成上述命令后,按 CTRL + X 保存脚本并退出。之后,系统会要求您确认,然后会要求您为该文件命名。将把文件保存为"xxx.sh"。按"y"进行确认。到这里就成功创建了一个简单的脚本

2. 使用vim编辑shell脚本文件

需要用到文本编辑器来创建一个文件,一般常用vim来做

复制代码
 sudo apt-get install vim

由于我们是想要运行python文件 所以要切换到py文件运行的命令行和代码所在的文件位置

由于我的py文件运行是在基础环境上的 所以要抑制anaconda 环境只是用系统环境

复制代码
PATH=/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/home/nvidia/.local/bin:/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.:

cd xx/xx/xx   # 代码所在位置

详细见Unbtun环境切换-CSDN博客

3. 运行脚本

如果在以上步骤后直接在终端输入文件名来运行,结果并不能运行,要让shell找到"xxx.sh"脚本,通过chmod命令来该便脚本文件的运行权限:

复制代码
sudo chmod +x yourfile.sh

要想双击sh脚本来进行运行,从而方便不熟悉ubuntu系统shell使用的用户来执行程序。sh脚本中可以是启动项目程序的代码,或者其它运维代码。

3.1 dconf-editor 安装

dconf可以说是ubuntu系统的注册表,类似windows上的注册表,保存系统的相关配置,而 dconf-editor 是 dconf 的一个图形化操作程序。

复制代码
sudo apt-get install dconf-tools

3.2 配置dconf

复制代码
gsettings set org.gnome.nautilus.preferences executable-text-activation ask

3.3 配置要双击的文件

首选为文件填加可执行权限

复制代码
sudo chmod +x yourfile.sh

右击该文件,点属性properties,将Allow executing file as program选中。

3.4 双击执行

因为之前3.2中选的是ask,根据需求进行点击。如果是选的launch,就相当于直接点击上图中的run.

执行过程无显示无输出,人但会有点击

4. sh快捷方式生成与图标配置

为了实现能够直接双击执行,不需要多余操作,而且为了页面更加美观,增加一个图标设置

下面以ubuntu桌面为例:创建desktop文件

复制代码
# 文件名建议与软件名一致
sudo vim /usr/share/applications/idea.desktop

新建文件 xxx.desktop, 然后编辑该文件; 如下信息:

复制代码
[Desktop Entry]
Name=My Idea # 执行文件的名称
Comment=Idea Studio # 执行文件的描述
Exec=/opt/ideaIU-2018.3.6/idea-IU-183.6156.11/bin/xxx.sh # 执行文件的路径
Icon=/opt/ideaIU-2018.3.6/idea-IU-183.6156.11/bin/xxx.png # 执行文件的图标
Terminal=true  # 是否开启terminal
StartupNotify=true # 是否开启启动提示
Type=Application # 软件类型
Categories=Application;Development;

将其弄成"可信任",对 idea.desktop点击右键"属性" 下的权限 执行栏 勾选 允许作为程序执行文件(E) 或者 sudo xxxx

复制代码
# 设置权限为可执行
sudo chmod +x /usr/share/applications/idea.desktop
相关推荐
H13469489019 分钟前
局域网数据同步软件,局域网数据备份的方法
运维·服务器·负载均衡
ORIPID1 小时前
Ubuntu完整复制其他用户的anaconda及虚拟环境
linux·运维·ubuntu
FreeBuf_1 小时前
Ubuntu 安全限制遭突破:攻击者可利用内核漏洞提权
linux·安全·ubuntu
plmm烟酒僧7 小时前
使用 Tmux 在断开SSH连接后,保持会话的生命周期
运维·ssh·tmux·分离会话
多多*9 小时前
Java设计模式 简单工厂模式 工厂方法模式 抽象工厂模式 模版工厂模式 模式对比
java·linux·运维·服务器·stm32·单片机·嵌入式硬件
南鸳61010 小时前
Linux常见操作命令(2)
linux·运维·服务器
fengwuJ11 小时前
Linux安装Idea
linux·ubuntu·debian·intellij-idea
Kaede611 小时前
怎么安装JSON服务器?JSON服务器最新安装教程
运维·服务器·json
西北大程序猿11 小时前
linux进程信号 ─── linux第27课
linux·运维·服务器·信号处理
涛ing11 小时前
【Git “fetch“ 命令详解】
linux·c语言·c++·人工智能·git·vscode·svn