如何安装Sublime Text 2/3?


472

我按照本教程在12.04上安装了Sublime Text 2 。

但是,从Unity启动器启动程序时,我没有足够的权限。例如,我无法安装软件包,或者如果我在关闭Sublime并重新打开时将一个文件夹添加到侧栏中,则该文件夹不再列出。如果我sudo sublime在终端中运行,所有更改将在关闭后保留。

我尝试在usr / lib中整理Sublime Text 2文件夹, sudo chown -R mylogin:mylogin /usr/lib/"Sublime Text 2"但这似乎没有效果。

Answers:


797

通过软件包管理器(apt-get)安装:

只需添加到您的包中:

对于Sublime-Text-2:

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

对于Sublime-Text-3:

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

在终端上运行Sublime-Text

subl

通过终端手动安装:

从Sublime网站下载

32位:

wget http://c758482.r82.cf2.rackcdn.com/Sublime\ Text\ 2.0.2.tar.bz2
tar vxjf Sublime\ Text\ 2.0.2.tar.bz2

64位:

wget http://c758482.r82.cf2.rackcdn.com/Sublime\ Text\ 2.0.2\ x64.tar.bz2
tar vxjf Sublime\ Text\ 2.0.2\ x64.tar.bz2

对彼此而言:

sudo mv Sublime\ Text\ 2 /opt/
sudo ln -s /opt/Sublime\ Text\ 2/sublime_text /usr/bin/sublime

资料来源:http : //www.tecmint.com/install-sublime-text-editor-in-linux/

通过脚本手动安装:

在可以运行的Github上检查一下这个不错的脚本(“ 在Fedora上安装Sublime Text。 ”),只需确保在脚本中编辑“ * .tar.bz2”即可下载最新版本的Sublime Text!

#!/usr/bin/env bash
# Usage: {script} [ OPTIONS ] TARGET BUILD
# 
#   TARGET      Default target is "/usr/local".
#   BUILD       If not defined tries to get the build into the Sublime Text 3 website.
# 
# OPTIONS
#
#   -h, --help  Displays this help message.
#
# Report bugs to Henrique Moody <henriquemoody@gmail.com>
#

set -e

if [[ "${1}" = '-h' ]] || [[ "${1}" = '--help' ]]; then
    sed -E 's/^#\s?(.*)/\1/g' "${0}" |
        sed -nE '/^Usage/,/^Report/p' |
        sed "s/{script}/$(basename "${0}")/g"
    exit
fi

declare URL
declare URL_FORMAT="http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_%d_x%d.tar.bz2"
declare TARGET="${1:-/usr/local}"
declare BUILD="${2}"
declare BITS

if [[ -z "${BUILD}" ]]; then
    BUILD=$(
        curl -Ls http://www.sublimetext.com/3 |
        grep '<h2>Build' |
        head -n1 |
        sed -E 's#<h2>Build ([0-9]+)</h2>#\1#g'
    )
fi

if [[ "$(uname -m)" = "x86_64" ]]; then
    BITS=64
else
    BITS=32
fi

URL=$(printf "${URL_FORMAT}" "${BUILD}" "${BITS}")

read -p "Do you really want to install Sublime Text 3 (Build ${BUILD}, x${BITS}) on \"${TARGET}\"? [Y/n]: " CONFIRM
CONFIRM=$(echo "${CONFIRM}" | tr [a-z] [A-Z])
if [[ "${CONFIRM}" = 'N' ]] || [[ "${CONFIRM}" = 'NO' ]]; then
    echo "Aborted!"
    exit
fi

echo "Downloading Sublime Text 3"
curl -L "${URL}" | tar -xjC ${TARGET}

echo "Creating shortcut file"
cat ${TARGET}/sublime_text_3/sublime_text.desktop |
    sed "s#/opt#${TARGET}#g" |
    cat > "/usr/share/applications/sublime_text.desktop"

echo "Creating binary file"
cat > ${TARGET}/bin/subl <<SCRIPT
#!/bin/sh
if [ \${1} == \"--help\" ]; then
    ${TARGET}/sublime_text_3/sublime_text --help
else
    ${TARGET}/sublime_text_3/sublime_text \$@ > /dev/null 2>&1 &
fi
SCRIPT

echo "Finish!"

资料来源:https : //gist.github.com/henriquemoody/3288681

这对我有帮助,我希望对其他所有人也有帮助!


5
如何通过终端启动Sublime Text 2?
Vader 2014年


1
另外,要将sublime用作默认文本编辑器而不是gedit,应编辑:/usr/share/applications/defaults.list,用subl代替gedit。
Boubakr 2015年

1
使用第二种方法在ubuntu 14.04中工作完美ppa:webupd8team/sublime-text-3
suhailvs 2015年

什么是ppa:webupd8team / sublime-text-2?它安全可靠吗?崇高的主要网站上有安装指南吗?
000

67

基本上,您的问题是您使用了错误的文章:)如果该文章在SE网站上,我将投反对票。

手动将不是来自Ubuntu存储库的内容复制到/usrWRONG中。这个目录是由Ubuntu的软件包管理器管理的,弄乱它有时会给您带来麻烦,例如,下次升级系统时,Sublime可能会被删除而没有任何痕迹。

以root身份运行该程序甚至是错误的,特别是在SublimeText具有自己的包管理器的情况下,该包管理器基本上是从Internet下载内容并使其在计算机上运行的。插件中的简单错字可能会破坏计算机上的所有数据。

如果要在系统范围内安装程序,一个合适的解决方案是查找/构建.deb文件并安装它-这样,程序包管理器将知道该程序包。Webupd8 SublimeText2维护一个PPA,因此您可以使用它。

但是,我个人使用的解决方案更为懒惰-只需在您的主目录中的某个位置解压缩SublimeText,在您的主目录中创建一个bin目录,并将符号链接sublime_text可执行文件导入该目录:

mkdir ~/bin
ln -s ~/wherever/sublime/is/sublime_text ~/bin

之后,您可以通过sublime_text在控制台中的任何目录中键入内容来运行Sublime Text 。这根本不需要root权限,并且编辑器可以正常运行。

本文还进行了一些Shell集成,例如将sublime_text注册为默认编辑器并添加了一个图标,我懒得这么做-但是,我敢肯定,可以做到这一点而又不会弄乱系统范围的设置。

但是,这不能解释您所拥有的权限问题-SublimeText无论如何都将其所有设置存储在主文件夹中,因此,即使您在系统范围内安装它,也应该不会出现问题。可能发生的情况是您第一次使用超级用户特权(即从sudo shell)启动了它,因此,编辑器的config目录(在中~/.config/sublime-text-2)到root现在为止已经拥有。你需要做类似的事情

sudo chown -R yourusername:yourusername /home/yourusername/.config/sublime-text-2

解决这个问题。


您能完全解释一下创建bin目录并对其进行符号链接吗?
hellocatfood

@hellocatfood:我的回答扩大了一点
谢尔盖(Sergey)

21

这是解决此问题的方法。

1)以相反的顺序撤消链接网页中的所有步骤。

1a)如果您没有保存原始defaults.list的副本,请打开终端并运行

sudo cp /usr/share/applications/defaults.list /usr/share/applications/defaults.list.bak && cat /usr/share/applications/defaults.list.bak | sed "s/sublime\.desktop/gedit.desktop/g" | sudo tee /usr/share/applications/defaults.list

2)获取所需的sublime版本并将其解压缩到当前目录。

3)用bash cd到您提取了sublime的目录

4) mv Sublime\ Text\ 2 ~/.local

4a)如果您希望能够从命令行运行sublime,请运行mkdir -p ~/bin && ln -s ~/.local/Sublime\ Text\ 2/sublime_text ~/bin/sublime.bashrc下次启动外壳程序时,默认值会将〜/ bin添加到$ PATH中。

5)创建一个名为sublime.desktopin 的文件~/.local/share/applications/,并将以下内容粘贴到其中。

[Desktop Entry]
Version=1.0
Name=Sublime Text 2
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Text Editor

Exec=~/.local/Sublime\ Text\ 2/sublime_text
Terminal=false
Icon=~/.local/Sublime Text 2/Icon/48x48/sublime_text.png
Type=Application
Categories=TextEditor;IDE;Development
X-Ayatana-Desktop-Shortcuts=NewWindow

[NewWindow Shortcut Group]
Name=New Window
Exec=~/.local/Sublime\ Text\ 2/sublime_text -n
TargetEnvironment=Unity

6) test -e ~/.local/share/applications/defaults.list -a 1$(grep -sc \[Default\ Applications\] ~/.local/share/applications/defaults.list) != 10 || echo "[Default Applications]" >> ~/.local/share/applications/defaults.list; grep gedit.desktop /usr/share/applications/defaults.list | sed "s/gedit\.desktop/sublime.desktop/g" >> ~/.local/share/applications/defaults.list

7)完成。

现在应该将其本地安装在您的主目录中,并且权限不再有问题。


OP可能必须删除/添加~/.config/sublime-text-2目录,因为这就是导致问题的原因。无论如何,感谢您的详细说明。
谢尔盖(Sergey)2012年

2
请提出一个新的“如何安装Sublime”问题并回答,这将是一个不错的贡献,以便人们可以正确地进行操作,而不是关注我们无法解决的博客文章!
豪尔赫·卡斯特罗

@Sergey是的,可能也可以。但是,链接说明的一个大问题是,它们要求您手动将某些东西安装到/ usr / lib中,这永远都不好。
Alex L.

7

您还可以从sublime网站下载适用于特定架构的Debian软件包。

然后运行以下命令;

cd download_path
sudo dpkg -i package.deb

例如,如果我的64位架构下载文件位于Downloads目录中并被调用,sublime-text_build-3080_amd64.deb那么我将运行

cd ~/Downloads
sudo dpkg -i sublime-text_build-3080_amd64.deb

就我而言,这是崇高的文字3,您也可以获取崇高的文字2


6

我认为@Alex L.完全正确。我建议不要编辑/usrfs,应/opt为多用户或~/opt单用户安装附加的商业软件(尤其是和Linux文件系统,请参见)。这里只是一些补充,使它变得非常好/opt/home

  1. 您不必将应用程序移至.local/local; 我通常只将它们放在~/optnb:波浪号是您的主目录或$HOME)中。

    user@machine:~$ cd ~/Downloads
    user@machine:~/Downloads$ cd wget http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.tar.bz2
    user@machine:~/Downloads$ cd ..
    user@machine:~$ tar -C ~/opt -xf "~/Downloads/Sublime Text 2"
    
  2. 建立一个符号链接到sublime_text ~/bin,但是调用它sublime;请参阅上述Alex L.的答案中的步骤4a 。

    user@machine:~$ ln -s ~/opt/Sublime\ Text\ 2/sublime_text ~/bin/sublime
    
  3. 同亚历克斯·L.的步骤5中,创建一个名为的文件sublime.desktop~/.local/share/applications/,但添加%fsublimeExec中描述字段,以便您可以从鹦鹉螺打开它,这个帖子。另外,请勿在Icon字段中转义空格并使用完整路径,而不能使用波浪号。替换<user>为您的用户名。

    [Desktop Entry]
    Version=1.0
    Name=Sublime Text 2
    GenericName=Text Editor
    Exec=/home/<user>/bin/sublime %f
    Terminal=false
    Icon=/home/<user>/Sublime Text 2/Icon/48x48/sublime_text.png
    Type=Application
    Categories=Development;IDE;TextEditor
    X-Ayatana-Desktop-Shortcuts=NewWindow
    
    [NewWindow Shortcut Group]
    Name=New Window
    Exec=/home/<user>/bin/sublime -n
    TargetEnvironment=Unity
    
  4. 您不必注销,但是如果未在仪表板上显示,则可能立即注销。然后寻找要在Nautilus中打开的文件,右键单击并选择Open With Other Applicaton ...,然后在底部显示Show other applications按钮,在列表中找到Sublime Text 2,选择它并点击Select。您的文件应在Sublime Text 2中打开,从现在开始,对于该类型的文件,您将看到Sublime Text 2已经作为选项列出。您也可以在Nautilus中将其设置为默认值,方法是右键单击,依次选择“ 属性”,“ 打开方式”和“ 突出显示Sublime Text 2”,最后选择“ 设置为默认按钮”。。当然,您也可以使用“ 添加”选择“ Sublime Text 2”来从“ 属性”窗口中打开文件类型。


1
没有Exec密钥的完整路径,桌面文件将无法在所有情况下都起作用。(尽管确实可以在大多数时间使用)。
Alex L.

谢谢亚历克斯·L!很高兴知道!我现在对我的sublime-text-2设置非常满意,到目前为止,一切都很好。非常令人失望的是,人们对这篇文章感到迷惑:(。但是现在看来,WebUpd8提供了一个ppa ,用户可以通过apt-get安装它:)。
Mark Mikofski 2012年

5

在终端中为Sublime Text 2输入以下命令:

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

对于Sublime Text 3:

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

4
  1. 官方网站下载deb软件包 。

  2. 安装软件包 $sudo dpkg -i path_to_the_file.deb

  3. 从启动程序 /opt/sublime_text/sublime_text


3

如Leonard Kakande所述,您可以从官方存储库中安装它。但是,它仅适用于Sublime Text 3。

在终端中运行以下命令:

(1)安装GPG密钥:

wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -

(2)选择要使用的频道:

稳定

echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list

开发人员

echo "deb https://download.sublimetext.com/ apt/dev/" | sudo tee /etc/apt/sources.list.d/sublime-text.list

(3)更新apt源并安装Sublime Text

sudo apt-get update
sudo apt-get install sublime-text

3

在Ubuntu上安装Snap

sudo apt install snapd

安装Sublime文字

sudo snap install sublime-text --classic

注意:snapd仅适用于ubuntu 16.04或更高版本


sudo apt install snapd不能在12.04上工作,因为snapd不在12.04的默认存储库中,而且还因为apt可以替代14.04及更高版本中的apt-get。
karel

实际上snapd仅适用于ubuntu 16.04或更高版本,因此对您不起作用。
rhoitjadhav

2

我最近为方便起见做了此操作:https : //github.com/TCattd/sublime-text-linux-installer

Sublime Text 2和Sublime Text 3 bash脚本安装程序。只需下载脚本之一ST2或ST2。

对于ST2是:st2install

将ir放入您的主文件夹中。然后形成一个终端(并在同一主文件夹中),运行:

sudo bash st2install

这样就可以了。

如果弹出新的ST2版本,您也可以使用相同的脚本进行升级。同样适用于安装/升级ST3。

使用这些安装程序的两个版本可以一起使用而不会发生冲突。

希望能帮助到你 ;)


1

我遇到了同样的问题,但没有成功执行上述提供的解决方案。以下是我的解决方案

实质上:

  1. 关闭所有出色的应用程序实例

  2. 打开崇高桌面文件

    sudo gedit /usr/share/applications/sublime-text-2.desktop
    
  3. 通过替换来编辑文件

    Exec=/usr/bin/subl %F
    

    Exec=env UBUNTU_MENUPROXY=0 /usr/bin/subl %F
    
  4. 删除高级配置文件配置文件夹

    rm -fR ~/.config/sublime-text-2
    
  5. 从顶部菜单或快捷方式开始升华

尽管其他答案非常有趣,但这个答案确实为我解决了这个问题。
Ladislav Mrnka

-1

也许只是在安装过程中出现了问题。我在12.04上使用Sublime Text 2,它不需要sudo。我建议您键入sudo apt-get purge sublime-text一个终端(取决于您安装的版本。键入该行,直到两次“ subl”为止,使用tab键-将显示每个已安装的版本)。这将完全删除安装。在那之后,转到高级文本主页,并确保您下载了.deb软件包。浏览Nautilus(主文件夹)中的软件包,右键单击.deb软件包,然后选择“使用软件中心打开”。在软件中心中,单击安装,然后按照说明进行操作。之后,您应该能够在没有sudo的情况下启动应用程序。


1
他按照指令不使用的deb包
豪尔赫·卡斯特罗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.