Linux-Mint
acroread 僅以 root 身份執行
注意我已經在這裡問了完全相同的問題,但沒有成功。我希望這不是問題。
我正在使用連接到 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
現在,按照以下說明安裝 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
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
文件中。