无法使用apt-get命令在Ubuntu 16.04中安装Sublime Text 3

时间:2018-09-06 14:04:56

标签: sublimetext3 ubuntu-16.04

我以前直接从浏览器中以tarball格式下载了sublime并将其保存在一个文件夹中(当然也将其解压缩了)。但是这样我无法将Sublime设置为我的默认编辑器,并且它没有作为尝试用右键单击打开文本文件时打开应用程序。我在某处读取了使用以下命令安装Sublime Text 3的信息:

sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

将解决我的问题。因此,我直接删除了保存在我的下载目录中的Sublime_text3文件夹,然后使用给定的命令。但是,当我进入第三个命令行时,出现了以下错误(只写了错误部分):

subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:/var/cache/apt/archives/sublime-text-installer_3126-2~webupd8~1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

谁能解释为什么会出现此错误并提出解决此问题的方法?同样,如果有人可以告诉我如何从Sublime Text 3网站下载的压缩包中将Sublime设置为默认文本编辑器。预先感谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试使用此命令使用Snap Store安装Sublime Text。

sudo snap install sublime-text --classic

答案 1 :(得分:0)

总体上我不确定如何解决该错误或正在发生的事情(我使用Slackware而不是Ubuntu / Debian),但是很长一段时间以来,已经有official Sublime repositories个不同的Linux发行版,包括{{ 3}}。

强烈建议您使用那些,如果您想走打包路线,并且不使用现有的解决方案,例如您的问题或此处的其他答复中引用的解决方案,则仅出于保证正式仓库的原因而没有其他理由包含Sublime的未修改版本。此外,官方存储库始终会在发布时进行更新,而在其他存储库中可能会或可能不会及时发生。

上面引用的链接包含有关如何在这些存储库中设置和使用Sublime的说明,如果有任何问题,可以向Ubuntu/Debian提问。

要注意的一件事是,在上面的页面中没有明确提到的是,要使用官方存储库,您应该:

  • 仅选择其中一个(稳定或开发,请注意,您需要许可证才能运行开发版本),并且不添加两个存储库,否则将无法正常工作
  • 确保已删除您添加的其他存储库(例如问题中的存储库),以确保软件包系统确实提取正确的软件包

要从tarball版本安装Sublime,有两种方法。最简单的方法是提取它,然后根据发生的情况手动设置启动器快捷方式,依此类推。在那种情况下,您如何将其注册为文本编辑器,我不确定,因为我使用的分发版本与您不同。

假设如果以与软件包管理器类似的方式安装Sublime,则该过程将更加容易,tarball附带了desktop文件和图标,因此可以使用以下步骤(大概)做软件包安装程序会做的事情。

此处的附带条件是,尽管这些步骤可在我的非Ubuntu机器上运行,但我不知道默认情况下所有参考工具是否都已安装在Ubuntu系统上,所以可能涉及更多的设置工作。

还请注意,压缩包中的文件不是完全自洽的,这会使工作量增加一些。

首先,您需要提取tarball(将tarball文件名替换为适当的位置并进行构建):

cd /opt
sudo tar xvf ~/Downloads/sublime_text_3_build_3176_x64.tar.bz2

这将创建文件夹/opt/sublime_text_3/,并用压缩包的内容填充它。

接下来,您要安装压缩包中包含的图标。据我所知,压缩包中的图标没有正确的目录结构,需要将每个图标分别复制到位。我们还需要更新图标缓存,以确保系统注意到新图标:

cd /usr/share/icons/hicolor/
sudo cp /opt/sublime_text_3/Icon/16x16/sublime-text.png 16x16/apps/
sudo cp /opt/sublime_text_3/Icon/32x32/sublime-text.png 32x32/apps/
sudo cp /opt/sublime_text_3/Icon/48x48/sublime-text.png 48x48/apps/
sudo cp /opt/sublime_text_3/Icon/128x128/sublime-text.png 128x128/apps/
sudo cp /opt/sublime_text_3/Icon/256x256/sublime-text.png 256x256/apps/
sudo gtk-update-icon-cache -f -t .

现在,我们要安装压缩包中的sublime_text.desktop文件。但是请注意,就像图标一样,它似乎有点破损。压缩包解压缩到sublime_text_3,但桌面文件假定该应用程序实际上位于/opt/sublime_text中。

这样,您需要将提取的文件夹重命名为sublime_text以匹配桌面文件中的内容,或者编辑桌面文件以使路径正确。

以下步骤假设我们要保持文件夹不变并重写desktop文件。这些命令将生成带有更改的名为sublime_text_3.desktop的新文件。

cd /opt/sublime_text_3/
sed -e "s^/sublime_text/^/sublime_text_3/^" sublime_text.desktop | sudo tee sublime_text_3.desktop

现在您可以安装桌面文件了。您可以使用desktop-file-install进行操作,并向其传递桌面文件的名称。为了从命令行访问Sublime,您还想建立一个subl链接到已安装Sublime的副本。

如果您决定重命名文件夹而不是编辑桌面文件,请在此处适当调整路径:

sudo desktop-file-install sublime_text_3.desktop --rebuild-mime-info-cache
sudo ln -s /opt/sublime_text_3/sublime_text /usr/bin/subl

此时,Sublime应该显示为已安装的应用程序,或者至少在我的Window Manager中显示;如果没有,执行sudo update-desktop-database可能有助于刷新它。