Unity dash - 是否有命令行 (CLI) 界面来执行搜索?

Han*_*gon 10 command-line unity unity-dash

有时,我通过 ssh 远程登录到我的远程桌面,我想通过 ssh 调用 GUI 应用程序,以在我的笔记本电脑上远程显示它。

但是,我不知道二进制名称是什么,因为我通常使用通用术语从破折号中调用应用程序。

是否有命令行 (CLI) 界面可以在终端中在 Unity Dash 中执行搜索并在结果列表中获取应用程序名称及其可执行命令的路径?

我想要类似的东西:

# dash --search "disks"
Name         Executable
Disks        /usr/bin/gnome-disks
Run Code Online (Sandbox Code Playgroud)

Tho*_* W. 2

这是一个可能有用的脚本:

#!/bin/bash
for desktopFile in $(grep -irl "$1" /usr/share/applications/) ; do 
  grep --color=never 'Name=' "$desktopFile" 
  grep --color=never 'Exec=' "$desktopFile" 
  echo ''
done
Run Code Online (Sandbox Code Playgroud)

假设您将其保存为“searchapps”,它的作用如下:

$ searchapps disks
Name=Disk Image Writer
Exec=gnome-disks --restore-disk-image %U

Name=Disks
Exec=gnome-disks
Run Code Online (Sandbox Code Playgroud)

请注意,除了 之外,您可能还想搜索其他文件夹/usr/share/applications。您必须相应地修改脚本。


sud*_*dus 0

/usr/share/applications一个方便的替代方法是使用您最喜欢的文件浏览器(nautilus在标准 Ubuntu、pcmanfmLubuntu、 Xubuntu 中...)打开thunar,然后只需双击在那里找到的图标即可启动程序。

nautilus --no-desktop /usr/share/applications &

pcmanfm /usr/share/applications &

thunar /usr/share/applications &
Run Code Online (Sandbox Code Playgroud)

我在终端窗口中测试了这个,通过远程访问

ssh -X user@IP-adress
Run Code Online (Sandbox Code Playgroud)

这对我有用。