我想执行gui only app,但问题是,我不知道如何检查。
你有解决方案吗?
console.log()
答案 0 :(得分:2)
Linux没有区分" GUI"和控制台应用程序这是只有Windows才有的东西。 Linux GUI应用程序恰好调用导致窗口出现的函数。
您可以做的是检查应用程序是否链接到GUI库中。问题是,要确定它们是什么并不容易。 libX是一个,但它可能没有直接链接(可能通过另一个库)。
ldd
是一个可以运行的工具,它将告诉您可执行文件链接的库(包括间接库)。如果列表中没有libX11
,则几乎确定这不是GUI程序。如果是,则可能是 GUI程序。
答案 1 :(得分:2)
这种区别在Unix中毫无用处,因为许多程序都有控制台和GUI行为。 ldd
也是无用的。例如,在我的电脑上:
% ldd /usr/bin/firefox
not a dynamic executable
因为它是一个运行实际firefox可执行文件的shell脚本。但是,firefox几乎肯定会在大多数情况下作为GUI应用程序运行。 python3
没有直接链接到X库中,但是用Python编写的任何程序都可能创建窗口,而不执行任何其他应用程序。 ssh
可用于在远程主机上执行程序,以便窗口显示在本地计算机的X服务器上等。
如果您需要知道哪个是GUI程序,请询问用户。