Linux-Mint

acroread 僅以 root 身份執行

  • December 20, 2016

注意我已經在這裡問了完全相同的問題,但沒有成功。我希望這不是問題。

我正在使用連接到 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

看看是否有東西在執行,但它沒有返回任何東西。

你有什麼想法為什麼會發生這種情況?我想這是因為我是從 LDAP 伺服器安裝的/home/share

編輯這個問題最初是在 superuser.SE 上提出的。使用者@terdon 要求我不要在幾個 SE 上交叉發布,所以我複制了我在 superuser.SE 上的另一個答案,因為它不能完全回答問題,但仍然可能有用。


PositronicBrain(superuser.SE 使用者)的致謝:

首先,打開一個命令終端並解除安裝 acroread:

$ sudo apt-get --purge remove acroread
$ sudo apt-get --purge remove acroread-bin

(可以使用此命令獲取包名稱:)

$ dpkg -l | grep -i acroread

現在,按照以下說明安裝 Adob​​e Reader 9.5.5 2013,這是 Adob​​e 網站上可用於 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

打開 Adob​​e Reader 並開心:

$ acroread

(適用於 32 位處理器)

要解除安裝:

$ sudo dpkg --purge adobereader-enu

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文件中。

引用自:https://unix.stackexchange.com/questions/239617