如何执行在Linux上运行的应用程序
- 格式:doc
- 大小:312.50 KB
- 文档页数:7
linux的使用方法Linux是一个开源的操作系统,它提供了丰富的功能和灵活性。
以下是一些基本的Linux使用方法:1. 基本命令行操作:- 打开终端:在Linux系统中,可以通过键盘上的快捷键组合(通常是Ctrl+Alt+T)或者在应用程序菜单中找到终端应用来打开命令行终端。
- 文件和目录操作:可以使用命令如`ls`(列出文件和目录)、`cd`(改变当前目录)、`pwd`(显示当前目录)、`mkdir`(创建目录)、`cp`(复制文件或目录)、`rm`(删除文件或目录)等来操作文件和目录。
- 文本编辑器:Linux中有许多文本编辑器可供选择,比如Vim、Emacs、Nano等。
可以通过命令行打开文件进行编辑,例如`vim filename`。
2. 包管理器:- 大多数Linux发行版都提供了包管理器来简化软件的安装和升级过程。
比如Debian系列的APT、Red Hat系列的YUM/DNF、Arch 系列的Pacman等。
可以使用适合自己发行版的包管理器命令来搜索、安装、更新和删除软件包。
3. 用户和权限管理:- Linux是一个多用户系统,每个用户都有自己的账户和权限。
可以使用`useradd`和`userdel`命令来创建和删除用户账户,使用`passwd`命令设置用户密码。
使用`sudo`命令可以给用户授权执行特定的命令或操作。
4. 网络配置:- Linux提供了各种命令和工具来配置网络连接。
使用`ifconfig`或者`ip addr`命令来查看和配置网络接口。
使用`ping`命令来测试网络连通性,使用`nslookup`或`dig`命令来查询域名解析。
可以编辑`/etc/network/interfaces`文件或者使用网络管理工具如NetworkManager来配置网络。
5. 软件编译和安装:- 有些软件可能无法通过包管理器直接安装,需要先下载源代码,然后编译和安装。
一般的步骤包括解压源码包、运行`configure`脚本、运行`make`命令进行编译,最后使用`make install`命令安装。
Linux命令行使用技巧如何使用nohup命令在后台运行程序在Linux命令行中,nohup命令是一个非常有用的工具,可以让我们在后台运行程序,而无需担心终端退出后程序的运行终止。
本文将介绍如何正确使用nohup命令,并提供一些使用技巧,帮助您更好地利用这个命令。
一、什么是nohup命令?nohup是“no hang up”的缩写,表示“不挂断”。
它是一个在Unix和Linux系统中常用的命令,用于在后台运行程序,与终端的连接断开后仍然保持程序的运行。
二、nohup命令的基本语法nohup命令的基本语法如下:nohup command [args] &其中,command表示要运行的命令,args表示命令的参数。
&符号的作用是将命令放到后台运行。
三、nohup命令的使用示例1. 后台运行一个命令假设我们要运行一个名为example.py的Python脚本,并将其放到后台运行,可以使用以下命令:nohup python example.py &2. 将输出保存至文件默认情况下,nohup命令会将程序的输出打印到nohup.out文件中。
如果我们想将输出保存到其他文件中,可以使用重定向符号">"。
例如,将输出保存到output.txt文件中的命令如下:nohup python example.py > output.txt &3. 追加输出至文件如果希望将输出追加到现有的文件中,可以使用重定向符号">>"。
例如,将输出追加到output.txt文件中的命令如下:nohup python example.py >> output.txt &4. 忽略输入在某些情况下,程序可能需要等待用户的输入,但在后台运行时无法获取输入。
可以使用重定向符号"/dev/null"将输入重定向到空设备,从而忽略输入。
linux elf执行流程Linux ELF 执行流程ELF(Executable and Linkable Format)是Linux系统中可执行文件的一种格式。
在Linux下,当我们执行一个可执行文件时,操作系统会按照一定的流程解析和执行该文件。
本文将介绍Linux ELF 的执行流程。
1. ELF文件格式ELF文件由多个段(section)组成,每个段都有特定的作用。
常见的段包括.text段(包含程序的指令)、.data段(包含程序的全局变量和静态变量)、.bss段(包含未初始化的全局变量和静态变量)等。
2. 加载可执行文件当用户在终端输入可执行文件名并按下回车键时,操作系统会通过解析文件头判断该文件是否为有效的ELF文件。
如果是有效的ELF 文件,操作系统会为该进程分配一块内存空间,并将ELF文件中的各个段加载到相应的内存地址上。
3. 解析程序入口操作系统会根据ELF文件中的程序入口地址(Entry Point)来确定程序的入口点。
程序入口地址通常位于.text段的起始位置。
操作系统将程序计数器(PC)设置为程序入口地址,从而开始执行程序。
4. 执行程序指令程序从程序入口地址开始执行,按照顺序执行.text段中的指令。
每条指令都会被解码和执行,直到程序结束或者遇到跳转指令。
5. 解析跳转指令在程序执行过程中,可能会遇到跳转指令(如条件跳转、无条件跳转、函数调用等)。
当遇到跳转指令时,操作系统会根据指令中的目标地址重新设置程序计数器,从而改变程序的执行流程。
6. 处理函数调用当程序执行到函数调用指令时,操作系统会将函数的返回地址和参数等信息保存到栈中,并跳转到函数的入口地址执行。
函数执行完毕后,操作系统会从栈中恢复返回地址,继续执行函数调用指令后面的指令。
7. 处理系统调用程序中可能会包含系统调用指令,用于请求操作系统提供各种服务。
当遇到系统调用指令时,操作系统会切换到内核态,执行相应的系统调用处理程序,并返回结果给用户程序。
linux运⾏程序命令
1. nohup
nohup命令:如果你正在运⾏⼀个进程,⽽且你觉得在退出帐户时该进程还不会结束,那么可以使⽤nohup命令。
该命令可以在你退出帐户/关闭终端之后继续运⾏相应的进程。
nohup就是不挂断的意思( no hang up)。
该命令的⼀般形式为:nohup command &
使⽤nohup命令提交作业
如果使⽤nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到⼀个名为nohup.out的⽂件中,除⾮另外指定了输出⽂件:nohup command > myout.file 2>&1 &
在上⾯的例⼦中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输⼊到myout.file⽂件中。
Linux 进程的启动方式程序或者命令的执行实际上是通过进程实现的。
通常情况下,程序或者命令是保存在硬盘上的,当在命令行中输入一个可执行程序的文件名或者命令并按下Enter 键后,系统内核就将该程序或者命令的相关代码加载到内存中开始执行。
系统会为该程序或者命令创建一个或者多个相关的进程,通过进程完成特定的任务。
启动进程的方式有两种,分别为前台启动方式和后台启动方式。
1.以前台方式启动进程在终端窗口的命令行上输入一个Linux命令并按Enter键,以前台方式启动了一个进程。
例如,在终端窗口上执行“find /-name myfile.txt”命令,就可以以前台的方式启动一个进程。
而在该进程还未执行完时,可按下Ctrl+z组合键将该进程暂时挂起。
然后,可以使用ps命令查看该进程的有关信息,如图41所示。
图41 前台方式启动进程2.以后台方式启动进程在前台运行的进程是正在进行交互操作的进程,它可以从标准输入设备接收输入,并将输出结果送到标准输出设备,在同一时刻只能有一个进程在前台运行。
而在后台运行的进程一般不需要进行交互操作,不接收终端的输入。
通常情况下,可以让一些运行时间较长而且不接受终端输入的程序以后台方式运行,让操作系统调度它。
要在命令行上以后台方式启动进程,需要在执行的命令后添加一个“&”。
例如,在终端窗口的命令行上输入命令“find / -name myfile2.txt &”并按下Enter键后将从后台启动一个进程。
启动后,系统会显示如下所示的信息:[2] 3516这里的数字2表示该进程是运行于后台的第2个进程,数字3516是该进程的PID(即进程标识码,用于惟一地标识一个进程)。
然后,出现了shell提示符,这表示已返回到前台。
这时,执行ps命令将能够看到现在在系统中有两个由find命令引起的进程,它们的标识号是不同的,因而是两个不同的进程,其中,PID为3385的进程就是刚才被挂起的进程。
如何执行在Linux上运行的应用程序关键字:Linux 先决条件 要充分理解本文,必须具备Windows 环境下桌面应用程序的工作经验,我认为读者对如何使用Linux 桌面有一个基本的了解。
使用一个运行的Linux 计算来机探讨本文的概念和示例是很有帮助的。
概述 有时候第一次在Linux 上运行一个应用程序需要一点额外工作。
有些应用程序,比如服务器服务,可能无法安装为服务,因此您需要从命令行启动这些应用程序。
对于启动这些应用程序的用户帐户而言,需要在应用程序文件中设置执行许可标志(x)。
运行用户空间应用程序 Linux 在内核空间或用户空间运行进程。
用户空间是操作系统的区域,应用程序通常在此运行。
简单地说,每个用户帐户有其自己的用户空间,应用程序在这个领域内运行。
默认情况下,只有root 用户有权访问内核空间。
root 用户是Linux 中的超级用户,相当于Windows 中的管理员帐户。
在root 用户帐户下运行应用程序可能会引起安全风险,是不可取的。
很多服务器服务需要root 权限启动服务。
然而,服务启动后,root 帐户通常会将其移至服务帐户。
严格地说,Linux 中的服务帐户才是标准的用户帐户。
主要区别是服务帐户仅用于运行一个服务,而不是为任何实际登录的用户准备的。
设置权限 您可以使用chmod 命令在一个文件中设置执行权限。
在Linux 中,umask 设置通常用来防止下载的文件被执行,也有充分的理由相信,因为它有助于维护Linux 计算机的安全性。
大多数Linux 发行版具有一个值为022 的umask 设置,这意味着,默认情况下一个新文件权限设置为644.权限的数字表示形式采用读(4)、写(2)、执行(1) 的格式。
因此,默认权限为644 的应用程序下载意味着文件所有者有读写权限,而组用户和其他用户只有读权限。
例如,为每个人赋予一个文件的执行权限,使用chmod a+x 命令。
springboot在linux后台运行的方法要在Linux后台运行Spring Boot应用程序,你可以使用以下方法:1. 使用nohup命令- 运行以下命令:`nohup java -jar your-application.jar &`- "nohup"命令用于禁止进程在终端关闭时终止。
- "java -jar your-application.jar"用于启动Spring Boot应用程序。
-"&"符号用于将该进程放入后台运行。
- 运行命令后,会产生一个nohup.out文件,用于存储应用程序的输出日志。
2. 使用systemd服务- 创建一个.systemd文件,例如`your-application.service`。
-在文件中添加以下内容:```[Unit]Description=Your ApplicationAfter=syslog.target[Service]User=your-userExecStart=/usr/bin/java -jar /path/to/your-application.jar SuccessExitStatus=143[Install]WantedBy=multi-user.target```- 将文件复制到`/etc/systemd/system/`目录下。
-运行以下命令激活服务:```sudo systemctl daemon-reloadsudo systemctl start your-application```这将启动你的Spring Boot应用程序并将其注册为systemd服务。
-如果想让应用在系统启动时自动启动,可以运行以下命令:```sudo systemctl enable your-application```3. 使用Supervisor- 安装Supervisor:`sudo apt-get install supervisor`- 创建一个新的supervisor配置文件,例如`your-application.conf`。
Linux中执⾏shell脚本命令的4种⽅法总结bash shell 脚本的⽅法有多种,现在作个⼩结。
假设我们编写好的shell脚本的⽂件名为hello.sh,⽂件位置在/data/shell⽬录中并已有执⾏权限。
⽅法⼀:切换到shell脚本所在的⽬录(此时,称为⼯作⽬录)执⾏shell脚本:复制代码代码如下:cd /data/shell./hello.sh./的意思是说在当前的⼯作⽬录下执⾏hello.sh。
如果不加上./,bash可能会响应找到不到hello.sh的错误信息。
因为⽬前的⼯作⽬录(/data/shell)可能不在执⾏程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。
查看PATH的内容可⽤ echo $PASH 命令。
现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执⾏。
⽅法⼆:以绝对路径的⽅式去执⾏bash shell脚本:复制代码代码如下:/data/shell/hello.sh⽅法三:直接使⽤bash 或sh 来执⾏bash shell脚本:复制代码代码如下:cd /data/shellbash hello.sh或复制代码代码如下:cd /data/shellsh hello.sh注意,若是以⽅法三的⽅式来执⾏,那么,可以不必事先设定shell的执⾏权限,甚⾄都不⽤写shell⽂件中的第⼀⾏(指定bash路径)。
因为⽅法三是将hello.sh作为参数传给sh(bash)命令来执⾏的。
这时不是hello.sh⾃⼰来执⾏,⽽是被⼈家调⽤执⾏,所以不要执⾏权限。
那么不⽤指定bash路径⾃然也好理解了啊,呵呵……。
⽅法四:在当前的shell环境中执⾏bash shell脚本:复制代码代码如下:cd /data/shell. hello.sh或复制代码代码如下:cd /data/shellsource hello.sh前三种⽅法执⾏shell脚本时都是在当前shell(称为⽗shell)开启⼀个⼦shell环境,此shell脚本就在这个⼦shell环境中执⾏。
linux后台执行方法在Linux中,有多种方法可以将进程放到后台执行,以下是一些常见的方法和相关参考内容:1. 使用&符号:在命令行中执行命令时,可以在命令的末尾加上&符号,表示将该命令放到后台执行。
例如,要执行一个脚本文件script.sh并将其放到后台执行,可以使用命令`./script.sh &`。
这种方法非常简单和快速,但是当关闭终端时,后台任务会随之关闭。
2. 使用nohup命令:nohup命令可以在后台执行命令,并且在终端关闭后任务仍然会继续执行。
使用nohup命令的语法如下:`nohup command > output.log 2>&1 &`,其中command是要执行的命令,output.log是保存命令输出的文件。
使用nohup命令后,命令的输出会被重定向到output.log文件中。
3. 使用screen命令:screen命令可以创建一个多重窗口管理器,允许在同一个终端会话中运行多个命令。
使用screen命令可以将命令放到一个独立的会话中,并且在终端关闭后任务仍然会继续执行。
使用screen命令的步骤如下:- 运行`screen`命令创建一个新的screen会话。
- 在新的screen会话中执行要后台运行的命令。
- 按下Ctrl + A,然后按下D键,即可离开当前screen会话。
- 当需要重新连接到screen会话时,可以使用命令`screen -r`。
4. 使用tmux命令:tmux命令是一个类似于screen命令的终端复用工具,可以创建多个终端会话并在其之间切换。
具体的使用方法类似于screen命令。
使用tmux命令的步骤如下:- 运行`tmux`命令创建一个新的tmux会话。
- 在新的tmux会话中执行要后台运行的命令。
- 按下Ctrl + B,然后按下D键,即可离开当前tmux会话。
- 当需要重新连接到tmux会话时,可以使用命令`tmuxattach`。
如何执行在Linux上运行的应用程序关键字:Linux先决条件要充分理解本文,必须具备Windows 环境下桌面应用程序的工作经验,我认为读者对如何使用Linux 桌面有一个基本的了解。
使用一个运行的Linux 计算来机探讨本文的概念和示例是很有帮助的。
概述有时候第一次在Linux 上运行一个应用程序需要一点额外工作。
有些应用程序,比如服务器服务,可能无法安装为服务,因此您需要从命令行启动这些应用程序。
对于启动这些应用程序的用户帐户而言,需要在应用程序文件中设置执行许可标志(x)。
运行用户空间应用程序Linux 在内核空间或用户空间运行进程。
用户空间是操作系统的区域,应用程序通常在此运行。
简单地说,每个用户帐户有其自己的用户空间,应用程序在这个领域内运行。
默认情况下,只有root 用户有权访问内核空间。
root 用户是Linux 中的超级用户,相当于Windows 中的管理员帐户。
在root 用户帐户下运行应用程序可能会引起安全风险,是不可取的。
很多服务器服务需要root 权限启动服务。
然而,服务启动后,root 帐户通常会将其移至服务帐户。
严格地说,Linux 中的服务帐户才是标准的用户帐户。
主要区别是服务帐户仅用于运行一个服务,而不是为任何实际登录的用户准备的。
设置权限您可以使用chmod 命令在一个文件中设置执行权限。
在Linux 中,umask 设置通常用来防止下载的文件被执行,也有充分的理由相信,因为它有助于维护Linux 计算机的安全性。
大多数Linux 发行版具有一个值为022 的umask 设置,这意味着,默认情况下一个新文件权限设置为644.权限的数字表示形式采用读(4)、写(2)、执行(1) 的格式。
因此,默认权限为644 的应用程序下载意味着文件所有者有读写权限,而组用户和其他用户只有读权限。
例如,为每个人赋予一个文件的执行权限,使用chmod a+x 命令。
a 表示所有人,加号(+) 表示添加,而x 表示执行。
同样地,如果应用程序是一个服务器服务,您应该确保只有授权帐户才有权执行此服务。
如果一个应用程序能够在标准用户帐户权限下运行,但只有特定组中的用户才需要使用它,您可以将该组所有者权限设置为可执行,然后将这些用户添加到该组中。
更具体地说,您可以在一个可执行文件中设置访问控制列表(ACL) 权限,赋予特定用户或组权限来运行该应用程序。
使用setfacl 实用工具设置ACL 权限。
对于这些需要以root 用户启动进程的应用程序,比如服务器服务,您有几个选择。
总结了允许用户执行需要root 权限的服务器服务的各种选项。
选项描述作为root 用户不推荐用于服务器服务。
当用户已经知道root 密码而且应用程序泄露不是首要关注问题时,可用于应用程序。
SetUID 由于安全问题,不推荐使用。
SetUID 允许标准用户以另一个用户方式,比如root 用户,执行一个文件。
sudo 很常用,并且被认为是一个很好的实践。
sudo 授予一个用户或组成员权限以执行可能额外需要root 权限的文件。
该用户不需要知道root 密码。
带有文件权限的标准用户帐户在一个文件上为用户所有者、组所有者或其他人(所有人)设置执行权限。
这是授予那些不需要root 权限来执行应用程序的用户的常用方法。
带有ACL 权限的标准用户帐户使用较少,但是如果您不想授予一个用户sudo 访问或者更改文件的权限,这也是一个可行的解决方案。
在一个文件上使用setfacl 命令,您可以授予一个特定用户或用户组执行该文件的权力。
从命令行运行在管理Linux 服务器时,从命令行运行应用程序是一项基本的任务。
很多应用程序使用shell 脚本(类似于Windows 批处理文件.bat)来启动应用程序并执行其他任务,比如设置变量以及为其他用户分配进程。
例如,应用程序可能需要一个Java?Virtual Machine (JVM) 来执行。
那样的话,shell 脚本可以设置适当的环境变量,然后执行Java 命令来运行Java Archive (JAR) 或类文件。
这同样适用于使用Perl、Python、甚至C# 的应用程序。
(当然,C# 编译的应用程序可以在Linux 上运行)从命令行或者shell 提示符执行应用程序的一个常用方法是使用./ 命令。
如果您在Linux 中使用句号(。
) 和正斜杠(/),就意味着告诉环境您想要以可执行文件运行该文件。
例如,运行一个名为myapp 的可执行文件,您可以使用./myapp 命令。
同样地,您可以在文件名之前加上语言环境,比如:shphppythonperljava但更多情况下,套装应用程序使用shell 脚本,以#! 符号设置环境变量提供该语言的运行时可执行路径,比如#!/usr/bin/python.您也应该熟悉这种方法。
清单 1 使用catalina.sh 默认脚本通过./ 方法启动Apache Tomcat 应用程序服务器。
然后,使用sh 方法启动服务器。
因为默认端口是8080,标准用户不需要对其进行特别修改就可以启动该服务。
清单 1. 从命令行执行应用程序考虑启动一个典型Hypertext Transfer Protocol (HTTP) Web 服务器。
在Linux 中,任何低于1024 的端口被认为是一个权限端口,只有root 可以打开权限端口。
因为,默认情况下,Web 服务器运行于端口80,root 需要启动该进程。
然而,如上所述,以root 用户运行一个服务被认为是不安全的。
正确的步骤是以root 启动该服务,然后将其转移到一个标准用户或者服务帐户。
幸运的是,许多服务器服务由脚本来执行这一操作。
如果您从头开始构建Apache Web 服务器,您将会发现它以root 用户启动,然后将httpd 线程转交给apache 用户。
清单 2 启动一个默认的Apache 2 Web 服务器编译。
安装流程也做了一些事情,包括使apachectl 命令可执行。
因为该流程需要使用端口80,使用root 用户权限启动。
然而,ps 命令显示httpd 流程在apache 用户帐户下运行。
清单 2. 启动Apache Web 服务器在后台运行应用程序一些安装的软件可能不像Apache Web 服务器那样用户友好。
您很可能需要在流程启动后以后台方式运行它,除非您正在进行故障排除,或者想要看看应用程序到底怎么了。
如果您没有这么做,shell 关闭后应用程序将终止。
运行服务器服务时,可不希望每次关闭终端shell 或者退出时服务都会停止!如果在后台运行一个应用程序,即使关闭了shell 窗口,应用程序也会继续运行。
您可以通过在执行命令结尾附加一个(&) 符号来启动应用程序。
例如,您可以使用vi 编辑器打开文件,然后使用vi /etc/sysconfig/network & 命令在后台运行该文件,因为& 可以打开/etc/sysconfig/network 文件并将其保留在后台。
即使在退出后,您也可以使用nohup 实用工具支持进程继续运行。
例如,nohup vi /etc/sysconfig/network &.清单 3 在Vim 编辑器中打开一个用来编辑的文件,然后将其放在后台。
清单 3. 在后台运行应用程序您可以输入jobs 命令来查看您在后台上运行的所有应用程序。
为在后台上运行的每个任务分配了一个序列号,从1 开始。
清单 3 中的任务序列号是1.24940 是进程ID (PID)。
您可以使用fg 命令和特定的任务号将应用程序移到前台。
在本例中,进程没有被用户所使用,因此显示为Stopped.但是,命令fg 1 打开终端并回到编辑文件的活动进程。
从桌面运行应用程序在Linux 中从桌面运行图形用户界面(GUI) 应用程序与在Windows 中没多大区别。
通常,您需要了解特定的桌面环境下应用程序在菜单中是如何分组的。
Linux 有足够的桌面应用程序,可用于各种任务。
有一些应用程序是Linux 本机固有的,还有另外一些应用程序可能是在一个常用运行时环境中使用C# 开发的跨平台应用程序,比如,。
NET Framework 应用程序。
您会发现,使用一个Wine 这样的虚拟环境,您甚至可以在Linux 上运行您最喜爱的Windows 应用程序。
Linux 本机应用程序您很有可能会为您最喜爱的基于Windows 的应用程序找到一个替代的Linux 应用程序。
在桌面上运行Linux 本机应用程序比较直观。
与Windows 一样,您通常可以在菜单中找到这些已组织的应用程序,当您想要一个Windows 应用程序时,只需单击并运行即可。
对于那些需要root 权限的应用程序,将会提示您输入root 密码,然后才开始运行。
这在概念上类似于Windows 中的Run as Administrator 选项。
否则,您运行的所有程序都会位于您所登录帐户的用户空间中。
在Windows 中,您可以创建桌面快捷键。
Linux 也有类似的快捷键launcher,您可以将它放在面板或桌面上。
单击launcher 时,快捷键将执行程序。
图 1 显示GNOME Desktop 上Mozilla Firefox Web 浏览器的两个launcher.一个launcher 位于面板上,另一个位于桌面上。
图1. 查看桌面或面板上的launcherMono许多Windows 应用程序都是使用.NET Framework 开发的。
Mono 是.NET 的一个开源实现,可在很多平台上运行(包括linux)。
事实上,Mono 网站称其为C# 和Common Language Runtime (CLR) 的一个实现,与.Net 是二进制兼容的。
此项目目前由Xamarin 支持。
在Linux 上,您可以执行使用.NET framework(或Mono)开发的应用程序,就像在Windows 上一样。
但是,记住Linux umask 和默认文件权限。
您仍然需要提供文件的执行权限,这样Linux 才会允许执行可执行文件。
在Mono(可以安装在您的Linux GNOME 桌面上)上开发的一些跨平台应用程序,比如F-Spot,同本机GNOME 应用程序一同位于菜单中。
F-Spot 是一个管理照片的开源应用程序。
尽管它是C# 应用程序,但是在GNOME 桌面上表现为一个本机应用程序。
为应用程序创建一个launcher 后,就可以像在Windows 中那样单击并运行。
图 2 演示了基于Mono 的应用程序F-Spot 的位置,以及为其创建桌面或面板launcher 的方法。
图2. 为F-Spot 创建一个launcherWineWine 使您可以在Linux 和其他操作系统上运行Windows 软件。