缺少 libappindicator3-1 安装 Slack

bul*_*che 5 debian

这是我尝试安装 Slack 时的输出。

$ sudo dpkg -i slack-desktop-4.12.2-amd64.deb 
Selecting previously unselected package slack-desktop.
(Reading database ... 155664 files and directories currently installed.)
Preparing to unpack slack-desktop-4.12.2-amd64.deb ...
Unpacking slack-desktop (4.12.2) ...
dpkg: dependency problems prevent configuration of slack-desktop:
 slack-desktop depends on libappindicator3-1; however:
  Package libappindicator3-1 is not installed.

dpkg: error processing package slack-desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.68) ...
Errors were encountered while processing:
 slack-desktop
Run Code Online (Sandbox Code Playgroud)

然后我尝试安装依赖项

$ sudo apt install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  slack-desktop
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 148 MB disk space will be freed.
Do you want to continue? [Y/n] 

Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么会发生这种情况。我已经跑了

apt-get update
apt-get upgrade
apt-get clean
apt-get autoclean
Run Code Online (Sandbox Code Playgroud)

以下是一些可能有用的信息:

$ cat /etc/apt/sources.list
deb http://deb.debian.org/debian testing main contrib non-free

$ cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Run Code Online (Sandbox Code Playgroud)

另外,我还有另一台笔记本电脑运行 Debian 测试并安装了 libappindicator3-1:

$ apt policy libappindicator3-1
libappindicator3-1:
  Installed: 0.4.92-8
  Candidate: 0.4.92-8
  Version table:
 *** 0.4.92-8 100
        100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)

Pav*_*val 38

我在新版本的 Debian 11 (2021-09-07) 中遇到了这样的问题。以下是我在 Debian 上安装 Slack 桌面应用程序时所做的操作。我将使用slack-desktop-4.19.2-amd64.deb文件作为示例

dpkg-deb -x slack-desktop-4.19.2-amd64.deb unpack
dpkg-deb --control slack-desktop-4.19.2-amd64.deb unpack/DEBIAN
Run Code Online (Sandbox Code Playgroud)

打开文件./unpack/DEBIAN/control并替换 libappindicator3-1libayatana-appindicator3-1

之后做

dpkg -b unpack slack.deb
Run Code Online (Sandbox Code Playgroud)

现在你应该有slack.deb文件了。

最后一步是sudo apt install ./slack.deb

或者您可以使用下面的脚本

dpkg-deb -x slack-desktop-4.19.2-amd64.deb unpack
dpkg-deb --control slack-desktop-4.19.2-amd64.deb unpack/DEBIAN
Run Code Online (Sandbox Code Playgroud)

像这样:

apt-install-libayatana BreakTimer.deb

来源在这里https://github.com/rofrol/dotfiles/blob/master/bin/apt-install-libayatana

  • 最后一步,你必须运行 `sudo apt install ./slack.deb` 对我来说不起作用(它仍然抛出未满足的依赖项错误)。这样做:“sudo dpkg -i slack.deb”确实很有魅力。谢谢! (2认同)

apa*_*lue 15

对于 Debian 11 (Bullseye),您可以手动下载缺少依赖项的 Debian 10 (Buster) 版本:

然后您可以将它们与 Slack 一起安装:

sudo apt install \
     ./libappindicator3-1_0.4.92-7_amd64.deb \
     ./libindicator3-7_0.5.0-4_amd64.deb \
     ./slack-desktop-4.20.0-amd64.deb
Run Code Online (Sandbox Code Playgroud)


rof*_*rol 9

最好使用equivs:

这并不比在安装包文件之前进入并修改包文件中的依赖项更粗糙,而且它具有在欺骗性依赖项两侧持续对包升级进行黑客攻击的巨大好处。https://www.reddit.com/r/debian/comments/q7ymc7/convert_deb_to_use_libayatanaappindicator3/hgluc40/

$ sudo apt install equivs
$ equivs-control libappindicator3-1.equivs
$ $EDITOR libappindicator3-1.equivs
$ cat libappindicator3-1.equivs
Section: misc
Priority: optional
Standards-Version: 1.0
Package: libappindicator3-1
Description: dummy libappindicator3-1 package
Depends: libayatana-appindicator3-1
$ equivs-build libappindicator3-1.equivs
$ sudo dpkg -i libappindicator3-1_1.0_all.deb
$ sudo dpkg -i BreakTimer.deb
Run Code Online (Sandbox Code Playgroud)


小智 8

你可以试试这个:

wget http://ftp.us.debian.org/debian/pool/main/libi/libindicator/libindicator3-7_0.5.0-4_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator3-1_0.4.92-7_amd64.deb

sudo dpkg -i libindicator3-7_0.5.0-4_amd64.deb
sudo dpkg -i libappindicator3-1_0.4.92-7_amd64.deb
sudo dpkg -i slack-desktop-4.12.2-amd64.deb
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以将 Sid 包含在您的/etc/apt/sources.list 中,如下所示:

###### Debian Main Repos
deb http://deb.debian.org/debian/ testing main contrib non-free
deb http://deb.debian.org/debian/ testing-updates main contrib non-free
deb http://deb.debian.org/debian-security testing-security main

# SID
deb http://deb.debian.org/debian/ sid main contrib non-free
Run Code Online (Sandbox Code Playgroud)

更新您的存储库并安装libappindicator3-1

apt update
apt install libappindicator3-1
Run Code Online (Sandbox Code Playgroud)

下一步是从您的/etc/apt/sources.list 中删除 Sid :

###### Debian Main Repos
deb http://deb.debian.org/debian/ testing main contrib non-free
deb http://deb.debian.org/debian/ testing-updates main contrib non-free
deb http://deb.debian.org/debian-security testing-security main

# SID
#deb http://deb.debian.org/debian/ sid main contrib non-free
Run Code Online (Sandbox Code Playgroud)

请记住更新您的存储库以避免现在使用 Sid:

最后从您下载的 .deb 文件安装 Slack:

apt install /home/lgallard/Downloads/slack-desktop-4.14.0-amd64.deb
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用Debian 文档中解释的固定包来固定libappindicator3-1


小智 1

该软件包libappindicator3-1不在 Debian 中testing ,但在 Debian 中可用并且stablesid

# apt show libappindicator3-1
Package: libappindicator3-1
Version: 0.4.92-7
APT-Sources: http://ftp.fr.debian.org/debian buster/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)

希望你可以从那里安装它而不破坏任何东西

  • 这个答案在编写时是准确的,但现在不再准确了。Debian 稳定版本不再包含 `libappindicator3-1`,sid 也不再包含。 (2认同)