首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有类似于“xdg关闭”的东西--与xdg相反?

是否有类似于“xdg关闭”的东西--与xdg相反?
EN

Unix & Linux用户
提问于 2017-10-04 10:52:17
回答 1查看 5.2K关注 0票数 4

有时,我从终端会话中xdg-open somefile.ext,但随后我希望能够关闭打开的应用程序或查看器。我希望可能会有类似于xdg-close的东西,它检查现有的窗口,看看哪些窗口打开了somefile.ext,并关闭/杀死了该应用程序。

像这样的东西会以不同的名字存在吗?

EN

回答 1

Unix & Linux用户

发布于 2017-10-04 15:39:33

假设您打开的文件未被删除,下面将强制关闭打开该文件的所有应用程序:

代码语言:javascript
复制
fuser -k -TERM FILE

FILE替换为所讨论文件的名称。

请注意,如果您不小心,这可能非常危险。例如,如果您不小心传入主目录,它将终止系统上的所有当前登录会话(包括图形和文本),并杀死大部分后台进程。

假设您知道是哪个应用程序打开了该文件,那么还有其他一些更安全的桌面环境特定方法可以这样做,但我对它们还不太了解,无法在这里给您提供好的建议。

现在,关于为什么没有xdg-close命令:

xdg-open的存在使得像文件管理器或web浏览器这样的工具能够确保用户的首选应用程序在尝试打开给定文件时被调用。换句话说,它起源于这样一种情况:当您想要更改用于打开文件的内容时,不必遍历系统上的每个应用程序,而是可以在一个地方设置默认值,并且当应用程序想在另一个应用程序中打开某个东西时,应用程序不必关心您所使用的桌面环境。它可以从命令行手动调用,但这并不是它设计的真正目的。

自动关闭打开特定文件的应用程序并不完全是用户友好的事情。您的web浏览器没有关闭您打开的PDF查看器查看您下载的PDF,那么为什么它需要一个工具,让它这样做?此外,您的桌面环境没有跟踪哪些应用程序打开了哪些文件(操作系统跟踪的是哪些进程(不将1:1映射到应用程序)有哪些文件打开),因此也没有任何简单的方法来实现这一点。

值得注意的是,xdg-open作为命令存在的唯一原因是因为它起源于DBus成为FreeDesktop.org规范的一部分之前,否则它几乎肯定是由另一个不必要的后台进程提供的DBus API调用。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/396030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档