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

时间:2014-03-15 22:12:55

标签: linux unix user-interface background command

我正在使用Linux机器(特别是运行带有KDE的openSUSE 13.1),我想确定当我使用应用程序的GUI执行某些操作时,后台实际发出的命令。

我的问题非常类似于以下未得到回答的问题: https://stackoverflow.com/questions/20930239/how-can-i-see-the-commands-being-passed-in-backend-of-a-gui-application

如果它有帮助,我想要完成的具体任务是弄清楚命令行等效是什么用于将文件发送到KDE的Dolphin实用程序中的Trash。我想在我的.bashrc中为这个功能添加一个别名,这样我就可以选择rm的“gentler”。但我宁愿知道我更普遍的问题的答案,以便我将来可以做类似的事情。

我天真的猜测是某个日志文件可能存在。然后,我可以使用GUI执行任务,然后在该日志文件后面查看底层命令,以了解我刚刚在GUI中执行的操作。但据我所知,没有这样的日志。

1 个答案:

答案 0 :(得分:0)

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

 mv foo $HOME/Trash/

所以你可以在.bashrc

中创建一个shell函数
 function movetotrash() {
   mv $* $HOME/Trash/
 }

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

BTW,并非每个GUI应用程序都在使用命令。有些是(例如IDE确实像gcc那样执行命令)但其他人只是直接进行系统调用(可能文件管理器不会分叉mv但只是复制内容或调用rename(2)系统调用)。