我正在尝试添加键绑定,以便可以更轻松地启动基于 CLI 的应用程序。游侠例如。当我尝试将设置中的键盘快捷键命令字段设置为时,ranger
它不起作用。我尝试谷歌搜索,只找到这个 Ubuntu 维基页面,这没什么帮助。
我感觉我完全不了解如何启动基于控制台的应用程序,因为我也无法将 ranger 设置为默认文件管理器。问题是否与它们是 shell 脚本而不是编译的代码/二进制文件有关?
您能帮助我理解这个问题,或者帮我提供一些好的资料吗?
答案1
键盘快捷键在非交互式 shell 中启动进程。图形程序会创建窗口,因此您很快就可以通过窗口与它们交互。但是,终端程序在系统内部的某个地方运行,不连接到标准输入(键盘)和标准输出(屏幕),因此您无法与它们交互。
要通过键盘快捷键启动终端程序并与之交互,您需要在终端仿真器中启动它。使用gnome-terminal
,输入以下键盘快捷键命令即可:
gnome-terminal -- ranger
每当你退出时ranger
,gnome-terminal
也将被关闭。
遗憾的是更改了默认文件管理器不简单。不过,您可以创建一个启动器,以便ranger
通过菜单系统轻松启动它。
为了实现此目的,请在(.local 是主目录中的隐藏文件夹;如果您希望它对系统上的所有用户都有效,请将其更改为).desktop
中创建一个启动器,名称为 example并带有以下文本~/.local/share/applications
~
/usr/local/share/applications
ranger.desktop
[桌面条目] Exec=ranger %F Terminal=true 名称=Ranger 注释=基于控制台的文件管理器 类型=应用程序 [/code]
这将自动创建一个图标,该图标将出现在桌面的应用程序菜单中。如果您想要一个特定的图标而不是通用图标,请将图标的图形文件(例如 ranger.png 或 ranger.svg)放在 中~/.local/share/icons
,然后将该行添加Icon=ranger
到桌面启动器。
要更改 mimetype,以便文件链接自动使用该启动器打开,请使用该xdg-mime
命令。首先检查当前关联:
xdg-mime query default inode/directory
并记下输出,以防您想撤消更改,请通过以下命令执行:
xdg-mime default ranger.desktop inode/directory
这样,类似的命令xdg-open /path/to/folder
将在新终端窗口中打开 ranger 中的文件夹,而不是在桌面的标准文件管理器中打开。
这里有一个关于桌面如何工作的简短资源:https://readthedocs.org/projects/penguin-carpentry/downloads/pdf/latest/`