我以所谓的“视频”包为例,而实际上它totem
在 中被调用usr/bin/totem
。
但还有几十个其他的,例如“终端”,它的真实名称是gnome-terminal
,等等......
这是极具误导性的,我确信,这已经导致成千上万的人因此浪费了大量的时间。
这个“名称符号链接”是在哪里建立的?是否可以删除它?如果可以,该怎么做?
答案1
这样做的原因是:
Videos
比起 ,更容易让用户记住/usr/bin/totem
。Terminal
比起 ,更容易让用户记住/usr/bin/gnome-terminal
。
Videos
并且Terminal
更接近这些应用程序的实际功能。
此外,通过该键搜索应用程序时Super,如果您输入搜索字符串“videos”,实际上可能会得到多个结果,具体取决于您安装的应用程序。通常您不会搜索“totem”(尽管它可以工作)。
更新#1:
要查看名称实际上在哪里发生变化...我们查看部分片段...
注意:“Name=”、“Exec=”和“Icon=”行...
cat /usr/share/applications/org.gnome.Totem.desktop
[Desktop Entry]
Name=Videos
Comment=Play movies
# Translators: Search terms to find this application. Do NOT translate or locali
ze the semicolons! The list MUST also end with a semicolon! Do NOT translate or
remove the application name from the list! It is used for search.
Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc;Totem;
Exec=totem %U
# Translators: Do NOT translate or transliterate this text (this is an icon file
name)!
Icon=org.gnome.Totem
答案2
好的,感谢评论中提供的帮助。
因此,我找到了两种了解 Gonme/Ubuntu 应用程序实际命令的方法:
1)正如@pomsky指出的那样,你可以在GUI中使用Nautilus来做到这一点:
- 打开
nautilus
(Gnome 菜单中的“文件”) - 导航
/usr/share/applications
- 右键单击您选择的应用程序并选择属性
- 实际的终端命令显示在“命令”字段中
2)更棘手的是,您需要在所有别名的命令列表中反向查找应用程序的名称。
- 打开终端
grep -l Pattern /usr/share/applications
将输出任何包含的文件Pattern
,该文件需要是您正在搜索的应用程序。grep Exec File
,其中File
是您在上一步中获得的文件(之一)。- 现在,您可以在菜单中启动应用程序时看到系统运行的实际命令!
例如:
$ grep -l Videos /usr/share/applications
org.gnome.Totem.desktop
totem.desktop
$ grep Exec totem.desktop
Exec=totem %U
Exec=totem --play-pause
Exec=totem --next
Exec=totem --previous
Exec=totem --mute
Exec=totem --fullscreen
我现在可以看到“视频”启动的实际命令是totem
:)。
PS:已在 Ubuntu 18.04 上验证