我/usr/share/applications/firefox.desktop
以前曾编辑过firejail
在运行时使用的功能firefox
,但它似乎在更新期间被删除了。
如何才能永久打开 Firefox 中的浏览器,而无需在 .desktop 文件更新时进行更新?
.desktop
文件~/.local/share/applications
这些文件仍然存在,与我几个月前创建时没有任何变化。系统只是出于某种原因没有选择它们,而是似乎优先处理已保存的文件/usr/share/applications
。
其中部分内容因无关内容(语言规范等)而被删除。
firefox.desktop
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer
Exec=firejail firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=Open a New Window
Name[ar]=افتح نافذة جديدة
Exec=firefox -new-window
[Desktop Action new-private-window]
Name=Open a New Private Window
Exec=firefox -private-window
brave-browser.desktop
[Desktop Entry]
Version=1.0
Name=Brave Web Browser
GenericName=Web Browser
# Gnome and KDE 3 uses Comment.
Comment=Access the Internet
Exec=firejail /usr/bin/brave-browser-stable %U
StartupNotify=true
Terminal=false
Icon=brave-browser
Type=Application
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Exec=/usr/bin/brave-browser-stable
[Desktop Action new-private-window]
Name=New Incognito Window
Exec=/usr/bin/brave-browser-stable --incognito
.desktop
文件/usr/share/applications
它们与 中的完全相同~/.local/share/applications
。
我只是在每个文件中的命令firejail
前面添加了这些命令。在终端中手动执行时,这些命令可以正常工作。Exec
.desktop
进一步的调试信息
我认为这种情况可能是在我从 Ubuntu 20.04.1 LTS 更新到 Ubuntu 20.04.2 LTS 后开始发生的。但我不确定。
除了用 更新系统软件包外,我没有做任何更改apt
。我不知道是什么原因导致了这个问题。
我知道它什么时候工作,因为当它工作时,我只能~/Downloads
在浏览器中上传文件时访问该文件夹。如果我从命令行运行它,我将获得来自 firejail 的输出。
答案1
如果我理解正确的话,每次打开网页时,您都希望在 Firejail 沙盒环境中打开 Firefox(无论通过哪种方式)。如何实现这一点将取决于您启动 Firefox 的方法:
- 命令行
- dash 中的启动器
- 桌面上的启动器
~/.bashrc
对于上述方法 1,您可以在您的(假设您使用 bash)中设置一个别名
alias firefox='firejail firefox'
对于上述方法 2,您在问题中发布的选项应该有效。我建议您重复此操作,如果/usr/share/applications/firefox.desktop
您执行的更改被恢复,请检查更改的日期。然后与less /var/log/apt/history.log
可能导致更改的更新进行比较(来源:1,2)您可以在当前状态下实际尝试此操作。
您也可以按照您在回答中提到的方式创建自己的.desktop
。然后将其拖到仪表板上(我不确定您是否这样做了)。与上述相同,我建议您重复该操作,并在每次停止工作时检查可能的原因。
编辑
此外,我建议您发布以下详细信息:
- 您用来验证“它何时工作”和“何时不工作”的命令,以及显示它的输出。最好逐字复制这些内容(而不是“解释”您做了什么)。
- 您的文件的位置和完整内容
.desktop
、您更改它们之后以及系统更改它们之后。
您没有指定:
- 在您的问题中,您执行了什么操作来恢复更改
/usr/share/applications/firefox.desktop
。“更新”这个词很宽泛...您是否更新了 Firefox 或其他应用程序? - 在您的回答中,您执行了什么操作导致您的程序
~/.local/share/applications/firefox.desktop
无法运行。“似乎长期无法运行”这句话再次显得含糊不清。另外,您的.desktop
文件是否仍在那里,并且其内容与运行前相同,但现在只是无法运行?还是它以某种方式被修改了?
获得您的反馈将会很有帮助。
有关的:
答案2
看来您可以将.desktop
文件从其原始位置复制到其中~/.local/share/applications
,然后它会使用该位置。在更新期间,您的更改不会被覆盖。
更新:从长远来看,这种方法似乎不起作用。
答案3
据我所知,您不需要做任何事情,因为:
$ which firefox
/usr/local/bin/firefox
$ ls -l /usr/local/bin/firefox
/usr/local/bin/firefox -> /usr/bin/firejail