我正在运行 Linux Mint Debian 版(本质上是 Debian 测试)和 Cinnamon 桌面环境。每次我启动google-chrome它都会要求成为默认浏览器。我已经告诉它以我能想到的所有方式这样做,但我仍然得到这个弹出窗口:

我尝试过的:
在其设置中将 chrome 设为默认值:

使用我的桌面环境(肉桂)设置应用程序将其设置为默认值:

以各种方式和文件将其与所有相关的 mimetypes 相关联,其中定义了这些东西:
$ xdg-mime query default text/html
chrome.desktop
$ grep chrome .local/share/applications/mimeapps.list
text/html=chrome.desktop
x-scheme-handler/http=chrome.desktop
x-scheme-handler/https=chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop;
text/html=emacs.desktop;google-chrome.desktop;firefox.desktop;
x-scheme-handler/http=chrome.desktop;
$ grep chrome /usr/share/applications/defaults.list
application/xhtml+xml=google-chrome.desktop
text/html=google-chrome.desktop
text/xml=gedit.desktop;pluma.desktop;google-chrome.desktop
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
Run Code Online (Sandbox Code Playgroud)
在这些文件中,我firefox用google-chrome. 文件中的任何地方都没有定义其他浏览器:
$ grep -E 'firefox|opera|chromium' /usr/share/applications/defaults.list \
.local/share/applications/mimeapps.list
$
Run Code Online (Sandbox Code Playgroud)以 root 身份启动 chrome 以防万一,但它不会让我:

使用 Debian 的替代系统将其设置为默认值:
$ sudo update-alternatives --install /usr/bin/www-browser www-browser /usr/bin/google-chrome 1080
update-alternatives: using /usr/bin/google-chrome to …Run Code Online (Sandbox Code Playgroud)如果我xterm使用它的默认位图字体启动,然后从“VT 字体”菜单中选择“大”字体(通过ctrl+right mouse),我会得到一个非常有用的位图字体,并且显然对日语字符支持很好。
我想知道这种字体是什么,以便我可以在其他地方使用它。不幸的是,我没有找到关于 XTerm 使用什么默认设置的信息(即当没有明确指定时)。许多站点都展示了如何使用 X 资源来指定新设置(例如特定字体),但我所见过的站点都没有说明如果我什么都不做就使用什么默认值。
我试过观察字体,它看起来与 相似且宽度相同9x15,但它使用了更多的垂直空间。但是,它似乎没有9x15不同的行距,因为直接指定此字体无法显示“大”可以处理的一些日语字符。
虽然我很高兴知道这种特定字体是什么,但我真的很想知道在哪里可以找到XTerm 对其资源使用的默认值。如果有什么不同,我正在运行 64 位 Ubuntu 12.04 LTS。
[我已经看到关于这个主题的这个问题,这就是为什么我特别询问默认值而不是试图从正在运行的 XTerm 中获取实时值。]
当我没有defaults.listand 时mimeapps.list,xdg-open打开text/plainwith gvim。但是,当我创建defaults.list的/usr/share/applications/,并添加以下几行:
[Default Applications]
text/plain=emacs.desktop
Run Code Online (Sandbox Code Playgroud)
它用 Firefox 打开文本文件。
但是,如果我移动/usr/share/applications/defaults.list到~/.local/share/applications/mimeapps.list,它会emacs按预期打开文本文件。
我的问题:
xdg-open当没有defaults.listand时如何确定要启动哪个应用程序mimeapps.list?xdg-open在我简单地写时使用 Firefox /usr/share/applications/defaults.list?我正在使用 Arch Linux。
使用这篇有用的帖子,我可以在文件夹中设置默认组和文件权限。
我在设置默认所有者 (teamlead uid 1234) 时遇到问题。
setfacl -d -m g::rwx /my/test/folder
setfacl -d -m o::rx /my/test/folder
getfacl /my/test/folder
# file: /my/test/folder
# owner: teamlead
# group: web_prod
# flags: -s-
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Run Code Online (Sandbox Code Playgroud)
接着就,随即:
[mary@boxen]# touch /my/test/folder/somefile
[mary@boxen]# ll /my/test/folder/somefile
-rw-rw-r--. 1 mary web_prod 0 Nov 6 08:58 somefile
Run Code Online (Sandbox Code Playgroud)
因此分配了正确的组,但新文件拥有创建文件的用户的所有权。我希望新创建的文件具有 teamlead:web_prod 所有者/组。
似乎setfacl也可以用来设置默认用户。使用现有文件夹 acl config(上图):
[mary@boxen]# setfacl -d -m u:1234:rwx /my/test/folder
Run Code Online (Sandbox Code Playgroud)
现在以不同的用户身份创建一个文件。我希望它拥有 teamlead:web_prod 所有权。
[mary@boxen]# touch /my/test/folder/anotherfile
[mary@boxen]# ll /my/test/folder/anotherfile
-rw-rw-r--+ 1 mary …Run Code Online (Sandbox Code Playgroud) 尽管安装了 LibreOffice Calc,但我有 150 台 Debian Jessie 机器在双击时会在 Gnumeric 中打开 ODS 文件。我知道可以通过右键单击 ODS 文件并从“属性”窗口更改其默认程序来更改此设置,但无法让 150 个用户执行此操作。他们都使用 xfce4 和 thunar。
我需要通过 CLI 执行此操作,以便我可以远程跨所有工作站执行此操作。我看过的/usr/share/applications和~/.local/share/application/mimetypes.list没有运气-文件前相比并通过GUI改变之后在这里没有发现变化。
默认情况下,如何使用 bash 使这些工作站通过 LibreOffice Calc 打开 ODS 文件?
编辑:与此问题的答案不同,我的 Jessie 安装没有~/.config/mimeapps.list或/usr/share/applications/defaults.list
在我的情况下,似乎LD_LIBRARY_PATH设置为空字符串。但是所有标准系统工具仍然可以正常工作,所以我猜动态链接器会检查这种情况并LD_LIBRARY_PATH在这种情况下使用一些默认值。
这个默认值是多少?我想它至少包括/usr/lib但还有什么?有没有什么好的系统方法来确定动态链接器将搜索的标准位置?
这个问题与动态链接器将搜索的路径略有不同。 有一个默认值意味着它会使用LD_LIBRARY_PATH如果给定的值,或者如果没有给定,它将使用默认值 - 这意味着它不会使用如果LD_LIBRARY_PATH提供了默认值。
当我使用文件中未列出的 GUI 应用程序rifle.conf(即使用open_with命令)将文件打开到 Ranger 时,Ranger 终端窗口会“暂停”,直到我关闭 GUI 应用程序。
出于这个原因,我希望有一种方法可以使用特定应用程序打开文件,但仍然能够在 Ranger 终端中导航文件。
当您使用文件中列出的应用程序之一打开同一文件时,这是默认行为rifle.conf。
有没有办法实现目标?
如何将手动下载的 Firefox 设置为我的默认 Web 浏览器,以便单击另一个应用程序中的链接将在此 Firefox 中打开该链接?
我尝试了这些命令,但它们似乎不起作用:
update-alternatives --install /usr/bin/x-www-browser x-www-browser /home/user/firefox/firefox 100
update-alternatives --set x-www-browser /home/user/firefox/firefox
Run Code Online (Sandbox Code Playgroud)
我需要做什么?
我使用 nautilus 作为文件管理器,并希望使用 Vim 而不是 Gedit 来编辑我的文本文件。许多文件(日志文件、空文件……)已经用 Vim 打开,但不是所有文件,例如 tex 文件和 XML 文件仍然用 Gedit 打开。
update-alternatives --get-selections | grep edit 产量
editor auto /usr/bin/vim.gnome
gnome-text-editor manual /usr/bin/vim.gnome
readline-editor auto /usr/bin/rlwrap
Run Code Online (Sandbox Code Playgroud)
并且我还设置了VISUAL和EDITOR环境变量以指向 vim。
尽管问题是关于更改任何文件类型的默认应用程序,但可以使用仅解决上述更改默认编辑器问题的解决方案来回应,因为这是目前困扰我的问题。
编辑:
“hesse”的答案适用于大多数文件类型,但不适用于所有文件类型。例如 Makefiles 仍然用 Gedit 打开。file --mime-type Makefile返回text/plain,它已包含在~/.local/share/applications/defaults.list. 然而file --mime-type somefile也返回text/plain但是是用 Vim 打开的。
我使用 Debian 不稳定。
2021 更新:下面描述的意外行为在 KDE Plasma v5.18.5 中是真实的,但在 5.22.3 中不再真实。
Linux 有多种“标记”应用程序“默认”的方法。您可以使用以下命令检查其中一些:
xdg-settings get default-web-browserls -o /etc/alternatives/*browser*ls -o /usr/bin/*browser* (其中一些是指向前一个列表项的符号链接)xdg-mime query default x-scheme-handler/httpsgrep -E 'https|html' /etc/mailcapgrep BrowserApplication ~/.kde/share/config/kdeglobals我遇到了与问题完全相同的问题如何更改 konsole 打开 URL 的默认浏览器?.
我正在运行 KDE 5.13.5。我做了以下步骤:
$ kcmshell5 componentchooser)实际结果 …
defaults ×10
debian ×2
mime-types ×2
acl ×1
arch-linux ×1
browser ×1
chrome ×1
file-types ×1
firefox ×1
fonts ×1
freedesktop ×1
group ×1
gui ×1
kde ×1
konsole ×1
ld ×1
libraries ×1
libreoffice ×1
nautilus ×1
path ×1
permissions ×1
ranger ×1
user-default ×1
users ×1
window ×1
x-resources ×1
x11 ×1
xterm ×1