嵌入式linux中应用程序怎么启动另一个应用程序

嵌入式linux中应用程序怎么启动另一个应用程序,第1张

开机后自动运行用户的应用程序或启动系统服务的命令保存在

开发板

根文件系统的/usr/etc/rclocal文件中。有的开发板开机后自动运行

图形界面

程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rclocal文件中调用图形界面的命令,增加运行

用户应用程序

的命令,达到开机自动运行用户应用程序的目的。

下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。

1.进入pc机的Linux

*** 作系统,在/nfs/usr/下通过mkdir

lz

命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir

hello新建一个hello文件夹用来存放我们将要编写的hello

c文件

和编译生成的可执行文件。

2.在/nfs/usr/lz/hello下通过vi

helloc命令新建helloc文件,编辑如下测试程序:

#include

int

main(){

printf("Hello,test

arm-linux!\n");

return

0;

}

完成编辑后通过:wq保存后退出。

3.主机通过如下命令交叉编译环境编译helloc:

#arm-linux-gcc

–o

hello

helloc

4.通过ls

命令可以看到在/nfs/usr/lz/hello/下已经生成了hello可执行文件,我们可以在开发板上通过/hello来测试自己编写的helloc执行情况

5.修改rclocal文件,在文件的最后通过‘#’释掉启动图形界面的指令,增加执行用户应用程序hello的指令,具体实现如下:

#export

PATH=$QPEDIR/bin:$PATH

#qtopia

#/usr/qtopia/bin/qtopia

/usr/lz/hello//hello

注:前三行是注释掉启动图形界面,最后一行是添加的执行用户的hello测试程序。

6.重启开发板,通过vivi参数配置让开发板通过nfs

挂载

主机上的文件系统,这时我们就可以通过

超级终端

看到开发板已经运行了我们编写的hello程序。

在桌面上运行 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 创建一个 launcherWine Wine 使您可以在 Linux 和其他 *** 作系统上运行 Windows 软件。有了 Wine,您就可以像在 Windows 中那样安装和运行应用程序。Wine 仍然在积极的发展中,而且并不是所有的 Windows 程序都可以使用 Wine。如果您的应用程序是为 Windows *** 作系统编译的,您就会发现它可以使用 Wine 来充分运行,前题是它是一个桌面应用程序而不是一个服务器应用程序。

通常情况下,任何基于Windows的exe程序都不能在LINUX下运行,这是因为它们的内核是不同的。但是可以通过在Linux上安装wine来运行exe程序。

Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant *** 作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是将 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。

安装 WineHQ 安装包(Ubuntu 18042 64位系统为例)

如果您之前安装过来自其他仓库的 Wine 安装包,请在尝试安装 WineHQ 安装包之前删除它及依赖它的所有安装包(如:wine-mono、wine-gecko、winetricks),否则可能导致依赖冲突。

如果使用的是 64 位系统,请开启 32 bit 架构支持(如果之前没有开启的话):

# sudo dpkg --add-architecture i386

下载添加仓库密钥:

# wget -nc >

# apt-key add winehqkey

添加仓库:

# sudo apt-add-repository 'deb >

更新安装包:

# sudo apt update

安装Wine:

sudo apt install --install-recommends winehq-stable

至此wine就安装完成了。下面安装exe程序(以QQ为例)

下载以exe为后缀的QQ可以执行文件到桌面,右击该可执行文件选择“使用其他程序打开(A)”

在d出的对话框里选择“Wine Windows Program Loader ”

接下来就和在Windows下安装软件一样直到安装完成

注意事项:如非必要,一般不太建议在Linux上运行exe程序,可能会遇到各种各样的的Bug。

参考资料:

网页链接

如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。 对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。 通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序。比如说,你可以通过输入“firefox”来启动Firefox。 在终端启动应用程序的好处是,你可以包含一些额外的参数。 例如,你可以通过下列命令来打开一个Firefox浏览窗口,然后利用默认的搜索引擎搜索相关信息: firefox -search "linuxcn" 你可能会注意到,如果你启动Firefox,程序打开以后,回到了终端窗口控制,这就意味着你可以继续在终端进行工作。 通常情况下,如果你在终端启动了应用程序,控制会切换到新启动的应用程序,只有程序被关闭以后才会重新切换到终端控制。这是因为你在前台启动了这个程序。 如果要在Linux终端打开应用程序并且返回终端控制,那么你需要将应用程序启动为后台进程。 和下面所列的命令一样,我们可以通过增加一个(&)符号,将应用程序在后台启动。 libreoffice & 译者注:如果需要加参数的话,记得把&符号放在最后。 译者注:一般情况下,关闭终端时,在这个终端启动的后台程序也会被终止,要使终端关闭以后,后台程序依然保持执行可以使用下列命令 nohup command [arg] & 如果应用程序目录没有安装在PATH变量包含的目录里面的话,我们就没有办法直接通过应用程序名来启动程序,必须输入应用程序的整个路径来启动它。 /path/to/yourprogram & 如果你不确定程序输入哪个Linux目录结构的话,可以使用find或者location命令来定位它。 可以输入下列符号来找到一个文件: find /path/to/start/from -name programname 例如,你可以输入下列命令来找到Firefox: find / -name firefox 命令运行的结果会嗖的一下输出一大堆,别担心,你也可以通过less或者more来进行分页查看。 find / -name firefox | more find / -name firefox | less 当find命令查找到没有权限访问的文件夹时,会报出一条拒绝访问错误, 你可以通过sudo命令来提示权限。当然,如果你没有安装sudo的话,就只能切换到一个拥有权限的用户了。 sudo find / -name firefox | more 如果你知道你要查找的文件在你的当前目录结构中,那么你可以使用点来代替斜杠: sudo find -name firefox | more 你可能需要sudo来提升权限,也可能根本就不需要,如果这个文件在你的主目录里面,那么就不需要使用sudo。 有些应用程序则必须要提升权限才能运行,否则你就会得到一大堆拒绝访问错误,除非你使用一个具有权限的用户或者使用sudo提升权限。 这里有个小窍门。如果你运行了一个程序,但是它需要提升权限来 *** 作,输入下面命令试试: sudo !!

我试了一下,可以用任务计划来实现定时打开网页,单击“开始”,“程序”,“附件”,“系统工具”,“任务计划”,然后点击添加任务计划,相信后面的就不用我多介绍了,但是需要提示的一点的是你可能需要下载第三方浏览器,因为我在程序中找不到IE浏览器,然后把你需要打开的网页设成主页就可以了!

虽然可用,但有些麻烦,仅供参考!

如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。 对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中

以上就是关于嵌入式linux中应用程序怎么启动另一个应用程序全部的内容,包括:嵌入式linux中应用程序怎么启动另一个应用程序、如何在Linux上运行Windows应用程序、LINUX里怎样运行exe文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9474570.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存