笔记我已经问过完全相同的问题这里,没有成功。我希望这不是问题。
我正在连接到 LDAP 服务器的计算机上工作。计算机在 Linux Mint 17 下运行。我安装acroread
了
su root
add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
apt-get update
apt-get install acroread
当以 root 身份运行时acroread
,一切正常,Adobe Reader 打开。当以非特权用户身份运行时,没有任何反应,没有错误,没有窗口。
我试过
ps -e | grep acroread
查看是否有东西正在运行,但它没有返回任何内容。
您知道为什么会发生这种情况吗?我猜这是因为 I/home
和/share
是从 LDAP 服务器挂载的。
编辑这个问题最初是在 superuser.SE 上提出的。用户 @terdon 要求我不要在多个 SE 上交叉发布,所以我复制了我在 superuser.SE 上的其他答案,因为它没有完全回答问题,但仍然可能有用。
归功于 PositronicBrain(超级用户.SE 用户):
首先,打开命令终端并卸载 acroread:
$ sudo apt-get --purge remove acroread
$ sudo apt-get --purge remove acroread-bin
(可以使用此命令获取包名称:)
$ dpkg -l | grep -i acroread
现在,按照以下说明安装 Adobe Reader 9.5.5 2013,这是 Adobe 网站上适用于 GNU/Linux 的最新版本:
下载安装程序:
$ wget -c ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb
使用 dpkg 安装软件包:
$ sudo dpkg -i AdbeRdr9.5.5-1_i386linux_enu.deb
打开 Adobe Reader 并高兴一下:
$ acroread
(适用于 32 位处理器)
卸载:
$ sudo dpkg --purge adobereader-enu
答案1
a) 停止使用旧的 UNIX acroread
,因为它可能还没有见过安全更新几年后或 b) 使用LD_PRELOAD
技巧伪造文件passwd
打开或 c) 手动将必要的用户帐户添加到本地passwd
文件。
我必须将它安装在 LDAPified 机器上,但它失败了,并翻阅了文件passwd
:
$ strace -e trace=file -o ugh acroread
(acroread:17602): GLib-WARNING **: getpwuid_r(): failed due to unknown user id (1234)
...
$ grep passwd ugh
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
因此,一个“修复”确实是将用户条目添加到passwd
文件中。
答案2
我在 linux mate x64 上使用 ldap 遇到了同样的问题(acroreader 仅以 root 身份运行)。
刚刚安装了 libnss-ldap:i386 并且它以 ldap 用户身份工作没有问题。
答案3
我通过安装 32 位 sssd-client 解决了 Fedora 64 位上的问题:
dnf install -y sssd-client.i686