如何确定在使用GUI时发出的命令



我正在一台Linux机器上工作(特别是运行openSUSE 13.1 w/KDE),我想确定当我对应用程序的GUI做某事时,在后台实际发出的命令是什么。

我的问题与下面这个没有得到回答的问题非常相似:https://stackoverflow.com/questions/20930239/how-can-i-see-the-commands-being-passed-in-backend-of-a-gui-application

如果它有帮助的话,我要完成的具体任务是弄清楚在KDE的Dolphin实用程序中将文件发送到废纸篓的命令行等效是什么。我想在我的.bashrc中为这个功能创建一个别名,这样我就有了一个"更温和"的rm替代方案。但是我更想知道我的一般性问题的答案,这样我以后就可以做类似的事情了。

我天真的猜测是某个地方可能存在一个日志文件。然后我可以使用GUI执行任务,然后跟踪日志文件,以查看我在GUI中执行的操作的底层命令是什么。然而,据我所知,不存在这样的日志。

要将文件foo移动到垃圾箱,请尝试

 mv foo $HOME/Trash/

所以你可以在.bashrc

中将它作为shell函数
 function movetotrash() {
   mv $* $HOME/Trash/
 }

老实说,大多数GUI应用程序没有日志文件。它们通常是自由软件(并且使用自由软件库),因此您可以研究它们的源代码并对其进行改进。尝试与他们的社区互动(并使用我评论的strace)

顺便说一句,不是每个GUI应用程序都使用命令。有些是(例如IDE确实是像gcc这样的分支命令),但其他只是直接进行系统调用(可能文件管理器不会分叉mv,但只是复制内容或调用rename(2)系统调用)。

相关内容

  • 没有找到相关文章

最新更新