2

在 Gnome/KDE 上,您可以选择要在哪个应用程序中打开文件(右键单击文件 -> 打开方式 -> 其他)。是否可以以这种方式打开文件,但从控制台?

例如:您打印“file.ext”,而不是在具体应用程序中打开,而是强制应用程序选择窗口,然后用户选择 - 启动选定的程序。

我试图弄清楚自己,但没有找到类似的东西。

“edit file.ext”不符合我的需要,因为它启动了首选应用程序,您无法选择哪个。而且在我的桌面上还显示:“错误:没有为类型“image/jpeg”找到“编辑”邮件封盖规则

那么,我是否能够从控制台强制打开那个“打开方式”窗口?如果是,你能说怎么做吗?在 windows 和 mac 上你都可以做这样的事情。

//编辑于 2009-02-10 14:17

非常感谢您的回答。命令将在程序代码中使用,所以很遗憾我可能无法制作一些额外的 bash 脚本。

4

3 回答 3

1

对于 GNOME:

gnome-open <file>

对于 KDE:

kfmclient exec <file>

这些命令应该分别在 GNOME 或 KDE 的首选应用程序中打开<file>,尽管我没有安装任何一个来测试。

于 2009-02-10T12:35:46.187 回答
1

Take a look at man run-mailcap, you can change or add selected applications for each mimetype modifying the /etc/mailcap, ~/.mailcap files and some others.

于 2009-02-10T12:45:18.517 回答
0

传统上,在 Unix 系统(因此也包括 Linux)上,您从控制台(而不是从 UI)启动应用程序。命令行(或控制台)希望您输入应用程序的名称,然后输入文件名(加上一些选项)。

这允许在 shell 脚本中使用应用程序(或命令)。

On Windows, there is no real console (the DOS box is just a reminiscence of the dark ages of MS DOS). So the MS developers came up with the idea to have the OS treat anything as a command. If it's not a real command or application, the OS will determine the file type (by extension on Windows and by some header information on Mac). For each file type, there will be an associated application in a look up table.

This is why on Windows, it appears that you can enter the name of a file on the console and you will get the application to edit that file.

If you want a quick way to fix this in the Unix console, create a script called "open" or "o" and use the file command with the option --mime to identify the file type. You can then use a case statement to launch your favorite editor.

As for the error about "mailcap rules": There is a file called "mailcap" on Unix where you can define abstract "commands" (open, edit, view, print) for file types. See the mailcap man page.

于 2009-02-10T12:35:55.047 回答