今天早上我发现无法启动 GDebi。当我尝试从超级菜单启动它时,它会将其名称放在顶部栏中,并带有旋转光标,在那里停留约 10 秒钟,然后消失。
当我sudo -H gdebi-gtk
在终端中输入时,它可以正常启动。
这是桌面文件...
[Desktop Entry]
Name=GDebi Package Installer
GenericName=Package Installer
Comment=Install and view software packages
Exec=sudo -H gdebi-gtk %f
Icon=gnome-mime-application-x-deb
Terminal=false
Type=Application
Categories=System;
MimeType=application/vnd.debian.binary-package;
NotShowIn=KDE;
X-Ubuntu-Gettext-Domain=gdebi
StartupNotify=true
Keywords=package;apt;dpkg;install
以下是一些文件信息...
$ cd /usr/bin
$ ll gdebi*
lrwxrwxrwx 1 root root 20 Dec 31 2017 gdebi -> ../share/gdebi/gdebi*
lrwxrwxrwx 1 root root 24 Dec 31 2017 gdebi-gtk -> ../share/gdebi/gdebi-gtk*
$ ll /usr/share/gdebi
total 104K
drwxr-xr-x 3 root root 4.0K Jun 12 13:47 ./
drwxr-xr-x 527 root root 20K Oct 19 10:35 ../
-rwxr-xr-x 1 root root 4.0K Dec 31 2017 gdebi*
drwxr-xr-x 3 root root 4.0K Jun 12 14:04 GDebi/
-rwxr-xr-x 1 root root 3.5K Dec 31 2017 gdebi-gtk*
-rw-r--r-- 1 root root 4.2K Feb 25 2010 gdebi.png
-rw-r--r-- 1 root root 60K Jul 2 2015 gdebi.ui
知道为什么 gdebi 无法启动吗?
答案1
据我了解,安装的内容/usr/share/applications/gdebi.desktop
与您的文件不同:
$ cat /usr/share/applications/gdebi.desktop
[Desktop Entry]
Name=GDebi Package Installer
GenericName=Package Installer
Comment=Install and view software packages
Exec=gdebi-gtk %f
Icon=gnome-mime-application-x-deb
Terminal=false
Type=Application
Categories=System;
MimeType=application/vnd.debian.binary-package;
NotShowIn=KDE;
X-Ubuntu-Gettext-Domain=gdebi
StartupNotify=true
Keywords=package;apt;dpkg;install
它使用 PolicyKit 的 pkexec 运行如下root
:
$ dpkg -L gdebi | grep policy
/usr/share/polkit-1/actions/com.ubuntu.pkexec.gdebi-gtk.policy
所以你不应该使用sudo
它。
我刚刚在我的 Ubuntu 18.10 VM 上进行了测试——我可以安装手动下载的 deb 文件:
apt-get download meld
gdebi-gtk meld*.deb
上面我输入了密码并安装了 Meld。
因此,请考虑删除自制的桌面文件,然后重新安装该应用程序
sudo apt-get install --reinstall gdebi gdebi-core
您也可以尝试重新安装 PolicyKit 相关组件:
sudo apt-get install --reinstall policykit-1 python3-apt
我已经检查了您关于从文件夹安装 deb 文件的发现~/Desktop
。
猜猜怎么着?
我可以在干净的 Ubuntu 18.10 安装上确认这个问题。这太不可思议了。
我完全无法理解现代 GNOME 哲学。
但顺便说一句,我已经报告了错误 1807761nautilus-desktop
可执行文件(因为它控制 18.10 中的桌面)(以及上游错误 782)来帮助其他用户。
在上游已关闭评论:
安东尼奥·费尔南德斯评论道:
感谢您花时间报告此事。
该版本的 nautilus 不再受上游支持,并且最新版本中没有 nautilus-desktop(可使用 shell 扩展来替代)。
因此,我们无法指望从这方面修复错误。
结论:在现代 GNOME 上,您无法从桌面安装 deb 文件。这个问题在 18.10 中不会得到修复。而且完全无法预测下一次在 19.04 中会禁止什么。
更新:Ubuntu 18.04 LTS 也受到影响。
答案2
想想看……重新安装gdebi
并gdebi-core
修复了启动问题。但原来的问题仍然存在。
更新#1:
所以,现在我记得......我以前遇到过一个问题,如果将 gdebi 设置为 .deb 文件的默认应用程序,则双击 .deb 文件时,gdebi 会打开,而当我单击按钮时Install Package
,它应该要求输入我的用户密码,但它只是退出。
但是,如果我先启动 gdebi,并手动打开 .deb 文件,然后单击Install Package
,它会正确要求我输入用户密码,并按预期安装 .deb 文件。
我之前的修复是修改 .desktop 文件的 Exec= 行:
Exec=gdebi-gtk %f
到
Exec=sudo -H gdebi-gtk %f
重新安装撤消了该修复,解决了启动问题,但用户密码和退出问题又回来了。
更新 #2:
我按照@NOrbert 的建议重新安装了policykit-1
。python3-apt
但毫无效果。
更新 #3:
哦哦哦……新线索!当我尝试在桌面上安装 .deb 文件时,gdebi-gtk 出现了问题。但是,如果我将同一个 .deb 移动到桌面上的新文件夹或下载文件夹中,gdebi-gtk 就可以正常工作!
@NOrbert 已确认该问题。