例如,Windows 启动所选应用程序的新进程并将要打开的文件的名称传递给带有附加命令行参数的进程(对于我的应用程序:argv[0] - 可执行文件,argv[1] - openable文件)。Ubuntu 启动我的应用程序,但该进程没有收到任何其他参数(仅 argv[0])。我的应用程序如何找出用户打开的文件的名称?
我最近安装了 20.04,对于某些类型的文件,无论是文本文件还是二进制文件,我都无法像以前在 18.04 中那样选择一个应用程序来打开它们。
例如,当我右键单击一个 .c(C 源代码)文件并选择“使用其他应用程序打开”时,它会立即使用 gedit 打开它,即使我有其他程序能够打开这些文件,例如 Geany。
对于其他类型的文件,例如目标代码/二进制文件,确实会显示菜单,但它显示“没有可用的应用程序”,而我有几个能够读取它们的程序,例如 GHex。更糟糕的是,双击这些文件没有任何效果。在 18.04 中,它至少会尝试使用 gedit 打开它们。
/usr/share/applications 中的 .desktop 文件具有正确的 .desktop 文件Exec=command %F
,所以我不知道为什么它没有列出它们。
更奇怪的是,对于图像等某些文件类型,菜单工作正常,甚至还有View all applications
按钮,这是我希望所有文件都具有的行为,无论它们的扩展名和 MIME 类型如何。
当我单击“使用其他应用程序打开”时,有没有办法强制 Gnome 列出所有可能性?
感谢您的提示!
编辑:我已经缩小了错误行为:它只发生在桌面上。通过 Nautilus 打开文件时,会发生正确的行为。
如果我的描述不清楚,这里的图片显示了“使用其他应用程序打开”菜单的期望和有问题的行为:
我有一些奇怪的 PDF 文件(我曾经从我的银行收到过)只能在 Adobe Reader 中正确打开。因此,在我的新 Ubuntu 20.04 上,我从最新可用的 Linux 版本 (AdbeRdr9.5.5-1_i386linux_enu.deb) 安装了 Adobe Reader,以便能够打开这些文件。安装后,Adobe Reader 将自己设置为 PDF 文件的默认应用程序,因此我将默认应用程序设置回 Evince。完成此操作后,Adobe Reader 不再出现在“使用另一个应用程序打开”菜单中,因此我无法通过右键单击使用它 - 我必须从主菜单打开 Adobe Reader 并在应用程序中使用文件/打开或拖放。这有点不方便。
我检查了 /usr/share/applications/defaults.list (实际上是 /etc/gnome/defaults.list 的符号链接),它包含在 Adobe
application/pdf=AdobeReader.desktop
Reader 安装期间必须添加的行。但是,我的 ~/.config/mimeapps.list 在[Default Applications]
部分中
包含我已将默认应用程序设置回 Evince的行
application/pdf=org.gnome.Evince.desktop
,并且它还包含在
我猜应该导致 Adobe Reader 显示在适合打开 PDF 的应用程序中的行中文件 - 但事实并非如此。[Added Associations]
application/pdf=AdobeReader.desktop;
即使我手动将 /usr/share/applications/defaults.list 中的行更改为application/pdf=org.gnome.Evince.desktop
并从我的 ~/.config/mimeapps.list 中删除它,它也没有改变任何东西。Adobe Reader 仍未显示。我update-desktop-database
从 DE 运行、注销并重新登录。
我还能尝试什么?
顺便提一句。我使用的是 GNOME Flashback,所以文件管理器是 Nautilus。
我正在使用 ubuntu 18.04。我正在尝试使用 sublime 文本更改 PHP 文件关联,并且它当前与 foxit 阅读器关联。我试图通过使用“打开方式”菜单选项来更改它。但即使在我重新启动计算机后它也不适用。所以我需要自己更改它而不使用菜单选项。
我有wine ms office 2010和wps(版本11.1.0.8722),我发现我无法在任何“常见的office文件,如.docx .xlsx.pptx”中将默认应用程序更改为wps,因为它总是设置ms office默认情况下,尽管通过右键单击文件并更改“属性”或“打开方式”。这个问题是在我安装了这个最新版本的 wps 之后发生的,以前的很好但是它没有 pdf 阅读器所以我更喜欢这个新的...
有什么方法(比如终端)将 wps 与我的文件相关联吗?
我有一个自定义文件类型,为它创建了一个自定义 MIME 类型,并与它关联了一个图标。现在我想用我的自定义可执行文件打开它。如果我单击Open
我会得到一个对话框Could not display ... There is no application installed for ... files. Do you want to search for an application to open this file?,并且单击包含图标
选择yes
的弹出窗口不会导致输入自定义命令行的可能性。ubuntu software
Additional MIME types required. An application is requesting additional file format support.Open with another application
我的 ubuntu 是 18.04。我还有一个 lubuntu 18.04,这就像一个魅力。我觉得在 ubuntu 中我必须处理ubuntu software
我没有找到添加自定义应用程序的方法。如何才能做到这一点?
我不再显示文件中的“打开方式...”选项卡或“设置为默认值...”按钮。由于 UI 更改,这似乎消失了,并且在 Launchpad 上注册了一个问题。
我知道像Ubuntu Tweak这样的工具过去提供了这样的功能(在类似的问题中提到它作为解决方案),但是不再支持 afaik Ubuntu Tweak(即不在 repo 中)。可以使用mimeopen
从命令行进行调整。而且,有一个相对复杂但通用的 解决方法。
但是,我正在寻找一种基于 GUI 的方式,并且不安装不在默认 Ubuntu 存储库中的额外包。感谢帮助!
Kubuntu 16.04,最新的 Steam。Kid3 在两者中都不是首选应用程序,/usr/share/applications/mimeapps.list
并且是. 此关联还存储在哪里?首选不需要 GUI 应用程序的解决方案。编辑属于包的文件不是解决方案,因为它们将在下次更新时被重写。~/.config/mimeapps.list
~/.local/share/applications/mimeapps.list
~/.config/mimeapps.list
Ubuntu 或任何其他 Linux 系统如何存储文件关联?
有没有/etc/asscociations
文件什么的?
我知道我可以右键单击文件并通过“打开方式”更改它,但我只是想知道它是如何在内部存储的。