如何在12.04 LTS上安装Okular 0.15?

请点击此处参考:http://okular.kde.org/news.php 新版本包括将注释保存到PDF文件本身的选项。这就是为什么我非常渴望尝试的原因。是否有任何PPA可以安装这个新版本?
编辑:在遵循808sound的建议下,我成功地在precise上安装了Okular 0.15。升级时安装的依赖项导致其他程序出现了一些问题。修复这些问题需要卸载Okular并降级与其一起升级的软件包。您可能希望从Kubuntu Backports PPA中安装Okular,但在这种情况下,您将无法将注释导出到PDF中。 有关更多信息,请参见下文。在选择想要安装最新Okular的源之前,请牢记这一点。
小提示:BlaXpirit的answer将为您提供最新的Okular,但不包含注释功能。要使此特定功能正常工作,您将需要按照808sound的answer操作。

1我可以通过暂时添加一个quantal仓库来将poppler更新到0.20。但是并没有为Okular提供更新。我安装的是0.15.0版本,但注释保存功能无法正常工作。我猜测您需要一个使用适当的libpoppler编译的版本。quantal仓库中的那个似乎不是。 - user334287
刚准备去找一个ppa之类的东西;非常感谢你的编辑和提醒。我会重新考虑(或者小心进行)。 - nutty about natty
1@nuttyaboutnatty,很高兴你发现这个问答有用。不过需要注意的是:按照这里所述从Kubuntu后备软件包PPA安装Okular可以无缝进行(注释功能除外,因为这需要新的Poppler版本)。我的问题是当我尝试从Quantal存储库升级liboppler时出现了问题。所以,如果你只是想要更新的Okular,那么可以放心前进。 - Glutanimate
再次感谢,MHC;再次:非常“精确” ;) 今天,我已经接触到了许多新的软件包(主要是与PDF和TeX相关的),但很快我会愉快地继续遵循您的建议! - nutty about natty
1我不认为这需要一个单独的问题,所以在这里简要说明一下:我猜这个关于在okular中想要一个标签式界面的错误/功能请求(https://bugs.kde.org/show_bug.cgi?id=155515)在**0.15**版本中仍然(官方上)**没有**解决,对吗? - nutty about natty
1@nuttyaboutnatty 很抱歉,还没有选项卡。 - Glutanimate
7个回答

我将poppler 0.20.5回移至Ubuntu 12.04,并编译了Okular 0.16.2(现已更新至0.17)并放入ppa中。要使用它,请添加ppas ppa:kubuntu-ppa/backportsppa:kalakris/okular
sudo apt-add-repository ppa:kubuntu-ppa/backports
sudo apt-add-repository ppa:kalakris/okular

现在更新软件包索引并升级Okular。
sudo apt-get update
sudo apt-get install okular

这个版本允许我将批注导出为PDF。由于这些软件包是针对精确版本编译的,所以不会像建议从quantal安装软件包的解决方案那样存在其他依赖问题。

1警告:这种方法可能会导致依赖于系统标准版本的libpoppler的应用程序出现问题。例如,Inkscape就是这种情况。如果libpoppler的版本比Inkscape使用的版本要新,则会导致各种PDF功能停止工作(如PDF导入和导出)。 - Glutanimate
我只得到这个:okular: 符号查找错误:/usr/lib/kde4/okularpart.so:未定义的符号:_ZN14KMessageWidget7setIconERK5QIcon - Ivan Kapitonov

请仔细阅读以下段落。这篇答案介绍了如何在Ubuntu 12.04上升级Okular到0.15版本(支持将批注导出为PDF)。需要注意的是,(正如楼主提到的),关于Kubuntu backports PPA的其他解决方案可以获得Okular 0.15版本,但是无法提供将批注导出为PDF的功能,而这正是楼主所需的。不幸的是,你会发现Okular 0.15中的这一新功能有点有限,可能无法将某些类型的批注编码到你的PDF文档中。此外,升级可能会导致与字体等的兼容性问题。因此,在尝试之前请三思。
要继续并尝试使用Okular 0.15,你可能希望首先创建一个名为"old_packages.txt"的文件,其中包含当前已安装的软件包/版本列表(如果你忘记了,不用担心)。
sudo apt-get install aptitude
aptitude -q -F "%?p=%?V" --disable-columns search \~i > old_packages.txt

为了准备升级,请将以下两行添加到/etc/apt/sources.list中。
deb http://archive.ubuntu.com/ubuntu/ quantal main universe
deb-src http://archive.ubuntu.com/ubuntu/ quantal main universe

然后运行以下命令:
sudo apt-get update
sudo apt-get install okular -f

如果你遇到任何错误,请尝试以下方法(反复尝试,直到Okular安装成功):
sudo apt-get install -f
sudo apt-get autoremove -f
sudo apt-get install okular -f

在这个打字之后
okular --version

应该显示版本0.15.x。最后,为了防止意外添加/升级的内容,你可能应该注释掉/etc/apt/sources.list中添加的两行,并执行。
sudo apt-get update

请注意,这个过程可能会导致其他软件包从Quantal仓库进行更新,从而与字体等产生兼容性问题。有关此事的更多信息,请参阅下面的评论。
如果您想卸载Okular 0.15并撤销对软件包的所有更改,这是相当简单的。首先应该执行以下操作:
sudo apt-get purge okular
sudo apt-get autoremove -f

此时,您可以使用最初创建的old_packages.txt文件将所有软件包降级到它们的先前版本(详见这里的详细信息)。或者您可以按照关于回滚Ubuntu的问题的答案中所述进行以下操作。
编辑/etc/apt/preferences并添加以下内容。
Package: *
Pin: release v=12.04
Pin-Priority: 1001

终于,做吧。
sudo apt-get dist-upgrade -f
sudo apt-get autoremove -f

你现在应该回到原来的12.04版本和软件包了。

1谢谢!你的解决方案很好用。不过,我还是有点失望,因为即使在这个新版本中,Okular仅支持导出“注释类型”的批注。其他形式的评论无法保存为PDF。对于其他尝试此安装方法的人,我有一个小提示。在恢复之前的sources.list后,你可能会遇到一些字体配置问题(终端中的错误消息)。要么重新安装受影响的字体,要么按照这个教程解决问题:http://ubuntuforums.org/showthread.php?p=12159762#post12159762 - Glutanimate
2另一个重要的注意事项:在添加了quantal ppa后,我遇到了几个问题,尽管我在安装okular后立即停用了源。以下软件包在安装过程中进行了升级,并引起了一些问题(例如播放Flash视频时性能缓慢):liblzma5、libfontconfig1、libfontconfig1:i386、fontconfig-config。最终,我不得不撤销所有之前的更改以恢复功能。综上所述,我建议不要在precise上安装okular 0.15。 - Glutanimate
1请注意,降级软件包并非易事。为了恢复到安装之前的状态,我不得不使用各个软件包的.deb文件手动降级每个软件包。 - Glutanimate
感谢Glutanimate提到由0.15版本安装引起的问题。虽然我在我的机器上还没有注意到任何字体问题,但考虑到我对注释功能也有些失望,我可能会选择降级。 - 808sound
做这个操作给我的机器带来了很多问题。打开Geany和Okular时报告了fontconfig的问题。此外,我常用的一些应用程序丢失了它们的配置(例如:gnome-terminal无法记住默认配置文件,Thunar丢失了自定义操作等等,还有其他我目前还不知道的问题)。而且,我似乎并没有像预期那样享受到额外的Okular功能-看起来还是同样的旧版本。我仍在努力修复所有问题。所以我的建议是不要选择808sound的解决方案。 - Pushpak Dagade
1@Guanidene 是的,我已经清楚地警告过,在尝试使用Quantal存储库时可能会出现问题。此外,我还提到了上面的评论,解释了你实际上并没有得到预期的功能。请撤销你的负评,或者解释一下我如何编辑答案以解决你的顾虑。 - 808sound
@Guanidene 另外,请注意原帖中也重申了这些警告。如果您使用的是Ubuntu 12.04,请严格按照我的指示操作,注意各种警告,并意识到Okular的“注释”功能非常有限。如果不是这样,那么就不应该对我的答案进行负评。 - 808sound
@808sound 我的系统出现了一些麻烦,我无法百分之百解决,网络上也没有任何有用的解决方案。所以,为了摆脱这个问题,我最终在我的12.04版本旁边安装了12.10版本。因此,我给你的回答投了反对票,这样其他人就不必像我一样经历同样的问题(因为你的回答已被接受,很可能会导致其他人遇到相同的问题)。如果你希望我取消反对票,请在你的帖子中添加一个关于可能解决你的解决方案引起的所有问题的说明(我将在我的12.04版本上验证)。 - Pushpak Dagade
1@Guanidene 很抱歉听到这些问题。我已经在答案中添加了一些解释/信息,并提供了将软件包降级回原始的12.04版本的方法。请查看您的12.04安装并相应调整您的投票。 - 808sound
@808sound 给你。+1 - Pushpak Dagade
谢谢@Guanidene,我很感激你告诉我这些问题! - 808sound

那很简单。将ppa:kubuntu-ppa/backports添加到您的软件源中,您就可以安装KDE 4.9软件以及Okular 0.15.0了。

1这个真的很有效,非常感谢!我不知道为什么在我给你点赞之前你没有任何赞。看起来楼主在接受答案失败后失去了兴趣。 - Christian
1就安装Okular 0.15而言,它的运行良好。然而,Okular所使用的PDF引擎(libpoppler)在此过程中并未升级。因此,无法将批注导出为PDF文件。如果您需要这个功能,您将不得不按照上述更复杂的方法进行操作。 - Glutanimate
1@Christian,这里似乎有些混淆。原帖中要求提供一种安装Okular 0.15并且具备将批注导出为PDF的方法。正如原帖所述,这个回答并没有提供这个功能,而我的回答则提供了。无论如何,我已经澄清了我的回答,并添加了关于删除相应okular安装所做的任何不利更改的信息。请撤销你的负评! - 808sound
对不起,我的意思是,8月25日给我踩票的人,请撤销你的踩票或者解释一下问题所在。谢谢! - 808sound
@808sound 对不起,我没有意识到这一点。我来这里只是想安装Okular 0.15,很高兴有这种简单的方法。我并不是要暗示这个解决方案比你的好。它只是以最简单的方式满足了我的需求。人们对投票太过慷慨了。不过,那不是我投的票 :/ - Christian

我按照用户user135805的建议进行操作,一切都运行得非常顺利。与教程所指的唯一区别是,我使用的是trusty和kubuntu backports仓库。总结一下,
编辑/etc/apt/sources.list文件:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe

编辑 /etc/apt/preferences.d/okular:

Package: okular
Pin: release a=trusty
Pin-Priority: 990

Package: libokularcore4
Pin: release a=trusty
Pin-Priority: 990

Package: libpoppler-qt4-4
Pin: release a=trusty
Pin-Priority: 990

重要,编辑:/etc/apt/apt.conf.d/00aptitude

APT::Default-Release "precise";

否则你会弄乱你的软件包
编辑:/etc/apt/sources.list.d/kubuntu-ppa-backports-precise.list
deb http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu precise main
deb-src http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu precise main
deb http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu trusty main
deb-src http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu trusty main

也许/etc/apt/preferences.d/okular中的一些条目是不必要的,但对我来说它就这样工作。编辑完后,你需要执行以下操作:
apt-get update
apt-get install okular -t trusty

希望这对你有所帮助。

另一种虽然繁琐但可行的安装方法是使用APT包优先级。这个链接真的很有帮助:

http://blog.sleeplessbeastie.eu/2012/10/08/ubuntu-precise-install-youtube-dl-package-using-quantal-repo/

使用该过程,您只能安装Okular工作所需的软件包,并避免更新其他库。令人讨厌的是,您必须逐个文件设置权限,这需要相当长的时间,因为您必须安装整个KDE环境。最后并不是那么多,但请准备至少花一个小时在终端前面。
到目前为止,我没有遇到任何冲突,也没有从quantal进行其他升级。

您引用的功能似乎需要使用poppler 0.20。我不知道12.04是否有回溯支持。


我已经能够让它工作了,多亏了你的评论,所以我在这里写一些更多的信息。希望这对你和其他人有所帮助。 你应该添加Quantal存储库的"main"和"universe",然后更新libpoppler软件包、okular和libokularcore1abi1。 请注意,即使你之前从ppa:kubuntu-ppa/backports更新了Okular到0.15(就像我一样),在添加Quantal的"universe"存储库后,你仍然可以再次更新它。 确保你的Okular安装来自Quantal存储库,否则它将无法工作。

嘿,谢谢你发帖。 我在使用Ubuntu方面还是个新手。你能指导我如何添加这些仓库并安装软件包吗?另外,添加quantal仓库是安全的吗?它会干扰常规的更新进程吗?或者我可以特别选择哪些软件包通过quantal仓库更新,哪些通过precise仓库更新吗? 提前谢谢! - Glutanimate