-->

ubuntu18.04 以及 16.04 我的常用软件环境安装

Posted on By Marquis

换源

  1. 第一种方法
    在教育网环境下tuna的源很快,可以按照 Ubuntu 镜像使用帮助 换一下。
  2. 第二种方法
    搜索 software & updates , 在 download from 那里选择清华的源就行了,当然也可以让它自己选择最快的源。

台式机 无线网卡不稳定

台式机的无线网卡是usb的外接网卡,型号是 RTL8188EUS,不过每次开机都要好久才能用,我同时用了两种方法来处理,现在是好了,不过不知道是哪一种起了作用。

  1. 把它插到后面板的2.0接口上(原先在3.0上插着)。
  2. 安装 quickreflex/rtl8188eus 的驱动。

18.04 老是弹出 System Program Problem Detected 对话框,很烦

怎么关掉呢?
运行 sudo gedit /etc/default/apport
然后将 enabled=1 改成 enabled=0

安装 显卡驱动

笔记本自带了 1050 的显卡。
打开搜索框,搜索 Additional Drivers,根据这个窗口,选择 使用 Nvidia binary
(注意,先sudo apt-get update,要不然会找不到驱动)

在我的 18.04刚安装好的时候,无法正常关机,只能按电源键强行关机,为啥呢?
因为没装显卡驱动。
搜索 software & updates,切换到 Additional Drivers,装上驱动,重启电脑,就行了。

vpn

基本配置

按照,在ubuntu16.04 上的 openvpn 折腾笔记 以及 ubuntu18.04 dns 设置,装好openvpn就行了。

特殊配置

安装 OpenVPN 2.4

使用 streisand 得到的配置文件必须得用 OpenVPN 2.4 的版本,而Ubuntu 16.04的仓库中只有2.3的(你装好之后使用 openvpn --version就能看到版本号啦。,因此得自己编译安装。
当然2.4的无法使用network manager的归,因此装好之后得使用 sudo openvpn 配置文件名字运行。
下面介绍OpenVPN 2.4 的安装。
首先下载openvpn源码
按照INSTALL文件的指示:

autoreconf -i -v -f
./configure
make
sudo make install

进行编译安装。make的时候若提示缺库,可按照Unable to install openvpn-2.3.6 on Ubuntu 14.04 LTS to work work with TUN/TAP运行:
sudo apt-get install libssl-dev liblzo2-dev libpam0g-dev

注意:最新版貌似很难 autoreconf -i -v -f 成功了,怎么办呢? 只能去openvpn官网(当然被墙啦)下载别人conf过的版本,里边自带了 configure 不需要我们通过autoreconf -i -v -f 来生成 configure 了。

修改配置文件,由vpn server下发dns

OpenVPN 2.4 应该是增加了新的语法,因此可以不用在Ubuntu本机修改dns,而是由vpn server下发dns。
详细说明可参照 streisand 生成的说明文件,我把核心部分贴一下。
需要在.ovpn配置文件的头部加入:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

chrome

有了vpn,就可以直接下载chrome啦。

Zotero

安装并固定到侧边栏

下载好之后,根据Installation Help进行安装,
实际上只需要解压即可,官方建议将其解压到 /opt/zotero 目录,可以先解压,再移动过去,或者直接解压过去:
tar jxvf 文件名 -C /opt
但实际经验告诉我,放在/opt/zotero 目录会遇到更新时的目录权限问题,因此,我将其放在我的home目录,并将该命令命名为Zotero
因此上述解压命令为:tar jxvf 文件名 -C ~/Zotero

此时直接运行 zotero,就行了,然后邮件图标,固定到launcher就行了

如果没法正确显式到launcher,就按照如下步骤:

  1. zotero官方提供了 set_launcher_icon 脚本,用来生成 zotero.desktop 文件,它负责在侧边栏放置一个启动项。
    生成之后,生成该文件在 ~/.local/share/applications/ 的一个软链接,如 ln -s ~/Zotero/zotero.desktop ~/.local/share/applications/zotero.desktop,此时仍然没有出现在侧边栏。
  2. 此时运行 zotero 命令即可打开Zotero的窗口,在 16.04 里,zotero打开之后,在侧边栏里可以点击右键固定在launcher上,只是可能没法显示正确的图标,此时只需要将执行固定操作后生成的.desktop文件修改,将其Icon值设为我么生成的zotero.desktop中的Icon值即可。
    而在18.04里没有这个选项了,即没法直接右键,加入favourite了,怎么办?
    重启电脑,打开zotero,此时就可以右键加入favourite了,而且图标也是正确的

同步设置

登录zotero账号,由于zotero本身提供的存储空间太小,因此我们仅用其存储比较小的索引,即文献的名称。
而附件和全文都由支持webdav的云(如国内的坚果云)进行存储。

因此就需要取消掉 Data Syncing 的同步全文选项。
在File Syncing里也应取消掉syn attachment files..using zotero storage.

ubuntu 自带的截图软件,并设置截图快捷键。

搜索screenshot,就打开了截图界面,但每次都对着截图界面很不爽,因此要设置快捷键。

找到截图命令

google以下,找到了 ubuntu自带截图工具–方便好用

发现screenshot的命令叫做 gnome-screenshot,也就是可以在命令行运行。
在命令行运行 gnome-screenshot -h,可以看到使用说明,-a 代表我们要截取一个自定义的矩形区域,-c 代表直接存到剪切板,因此我们的最终命令是:
gnome-screenshot -a -c

如何设置快捷键

打开system settings---->keyboard----->keyboard shortcuts,大概就是这个位置吧,这个地方保存了很多快捷键。
我的是18.04,拉到最下面,有个加号,点击加号就能设置Custom Shortcuts了
Name随便设,Command设为gnome-screenshot -a -c,Shortcut,根据自己的习惯设置就行了。

打脸啦

我突然发现Keyboard 页面的快捷键列表里本来就有截屏的快捷键。
截取一个area到剪切板的默认快捷键为: Ctrl+Shift+PrtScr
截取area并保存到图像文件的快捷键为:Shift+PrtScr,它会默认保存到你的 home 的 Pictures 文件夹
不要自己设置快捷键啦!

安装汉语支持和输入法

使用基本的汉语输入法(这个就是使用自带的输入法啦,如果使用搜狗,就不需要这一步)

搜索language support,点击 Install /Remove Languages,找到 chinese (simplified),安装就行了。

此时,我的18.04 的右上角并没有出现输入法的切换选项。
怎么办呢?
打开Settings,Region & Language,在 Input Sources中点击加号,选择Chinese,然后在里边找到一个输入法就行了,我选的是智能拼音,然后电脑右上角就有输入法显示的图标啦。

此时就可以用汉语输入法啦。

如何安裝搜狗输入法

以下主要参考自 How to install Sogou Pinyin in non-Chinese versions of Ubuntu 18.04.

  1. 首先安装 fcitx
    sudo apt install fcitx-bin
    sudo apt install fcitx-table
    

    然后卸载 ibus

    sudo apt purge ibus
    sudo apt autoremove
    

    此时, 打开 Language Support, 如果提示 The language support is not installed completely 那就选择 Remind Me later.
    然后就能发现 ` Key board input method system 已经替换为 fctix`了,如果不是,那就手动替换一下吧。
    最后重启系统。

  2. 下载搜狗的deb安装文件,双击打开并安装,重启电脑。
  3. Ctrl+Space
    系统自带的的英文输入法和我们安装的搜狗之间的切换是Ctrl+Space,很明显不太好,对于 18.04而言,可以右键右上角输入法图标,选择 configure, 然后是 global configure, 在 hotkey->Trigger input method 那里改成其他的,如 ctrl+, 就行了。

交换 CtrlCaps

习惯了 Emacs 的快捷键以后,为了保护手指,需要将 Ctrl 和 不常用的 大小写转换按键Caps进行交换。

Emacs贴心地给出了各个系统上的交换教程:MovingTheCtrlKey,但我发现使用 Gnome Tweak tool的话,重启电脑之后貌似就失效了。

使用配置文件的方式最靠谱啦。(在16.04和18.04上都推荐使用)
建立 ~/.Xmodmap 文件,写入:

!
! Swap Caps_Lock and Control_L
!
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

然后 xmodmap ~/.Xmodmap

21.4.8 update: 为了不每次开机或登录系统的时候都运行这个命令,我在20.04的start applications中加了一个entry:xmodmap /home/marquis/.Xmodmap

借鉴自:Activating the .Xmodmap at startup

Some distributions automatically load the ~/.Xmodmap when a user logs on in X - if yours does, consider yourself happy. One of the distris which doesn't do it is Gentoo, while SuSE does.

Here is how you get it loaded automatically: You've got to open

$KDEDIR/share/config/kdm/Xsession
and insert the following code at the beginning of the file (but after the shebang #!/bin/sh):

if [ -f $HOME/.Xmodmap ]; then
    /usr/bin/xmodmap $HOME/.Xmodmap
fi
Now save, logout and log in again. Your modmap should have been loaded now.

Using a global Xmodmap file
Xorg (at least in version 7.0) has an xinit script at /etc/X11/xinit/xinitrc that loads a global Xmodmap file for all users. The default location is /etc/X11/Xmodmap. Since KDE doesn't automatically do this, you should add it: Open the Xsession file (as described above) and add the following line:

[ -f /etc/X11/Xmodmap ] && xmodmap /etc/X11/Xmodmap

gitkraken

git 的一个gui
直接下载安装即可。

jekyll

按照 Jekyll on Ubuntu 的安装说明就能安装 Jekyll 了。

由于我的博客目录MyBlog已经有了一个Gemfile:

source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems'
#gem 'github-pages', group: :jekyll_plugins
# gem 'jekyll-feed'
gem 'jekyll-paginate'
gem 'jekyll-sitemap'
gem 'jemoji'

因此需要去其目录安装这些”依赖”:bundle install

注,这一步可能会出现关于Nokogiri的错误,
按照这里的步骤就行了:
sudo apt install libxml2-dev zlib1g-dev

然后就可以运行jekyll serve了。

我的特殊配置:
MyBlog目录(也就是我的博客的根目录)的同级目录,放置一个名为run_myblog的脚本:

cd MyBlog
cd _config_with_python
python buildMenu.py
cd ../
jekyll serve --port 4000 --incremental

不过鉴于我的博客依赖Python进行目录的生成,并使用yamljinjia2,因此可能还需要安装一下:

sudo apt install python-yaml
sudo apt install python-jinja2

或者:

pip install PyYAML
pip install jinja2

vscode

vscode

可以利用系统的software center 搜索安装 vscode。
目测还是自己去官网下载安装更快。

安装icon插件,让icon更漂亮

然后在vscode 中安装一个插件vscode-icons

markdown 预览

vscode自带了markdown的预览,使用快捷键:Ctrl+K V 即可调出预览窗口,并且可以滚动同步,很良心!

markdown 主题和快捷键

按照 官方介绍Markdown and Visual Studio Code,我又安装了:
Markdown Shortcuts Markdown TOC Markdown Theme Kit

其中,Markdown Shortcuts 定义了很多快捷键,不过我熟悉的设置heading的并没有绑定,可用的方法是,使用 ctrl +m ctrl m调出快捷键窗口,然后点击就行了

Emacs 快捷键插件

Emacs Friendly Keymap

tex 语法高亮插件

LaTeX language support

Mathpix 将图片转化为 LaTex 公式

Convert images to LaTeX
这个很好使啊,从此以后做笔记再也不用手动敲公式了!
快捷键: Ctrl+Alt+M

TeXLive

主要参考自:在 Ubuntu 中安装 TeX Live 2018

安装 perl

如果想用图形界面安装的话,就需要按照perl啦
sudo apt-get install perl-tk

这样,以后的texlive命令后面只需要加上-gui就出来界面啦。

安装texlive

我是直接从TUNA下载的光盘镜像 texlive2019.iso

然后挂载到一个目录:sudo mount /home/hdd/texlive2019.iso /media/marquis/

进入光盘目录:/media/marquis/

开始安装:sudo ./install-tl (当然,sudo ./install-tl -gui 就是带图形界面的安装啦)。

设置texlive 的环境变量

此时 TeX Live 虽已安装,但其路径对于 Linux 来说仍是不可识别的。所以需要更改环境变量。

其实在安装结束以后,终端上也告诉你了要添加环境变量了:

Add /usr/local/texlive/2019/texmf-dist/doc/man to MANPATH.
Add /usr/local/texlive/2019/texmf-dist/doc/info to INFOPATH.
Most importantly, add /usr/local/texlive/2019/bin/x86_64-linux
to your PATH for current and future sessions.

打开 ~/.bashrc,在最后添加

export PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH

还需保证开启 sudo 模式后路径仍然可用。命令行中执行
sudo visudo
找到如下一段代码

Defaults        env_reset
Defaults        mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

将第三行更改为

Defaults        secure_path="/usr/local/texlive/2019/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

也就是加入 TeX Live 的执行路径。如果在安装时作了修改,这里的路径也都要与安装时的保持一致。

如何让emacs找到texlive的bin

实际上,在ubuntu16.04中,貌似不需要配置。但是在18.04中,不知道为啥,spacemacs找不到tex的路径,这时候就需要安装 exec-path-from-shell了,
详见: spacemacs 的配置

如何更新宏包

例如更新biblatex-gb7714-2015到最新版:

先更新宏包管理器
sudo tlmgr update --self

然后使用命令:
sudo tlmgr update biblatex-gb7714-2015
更新参考文献的宏包。

当然,也可以 sudo tlmgr -gui使用图形界面的形式进行更新。

qtikz 在线预览tikz图片

基本安装并使用中文

KtikZ – Editor for the TikZ language 下载 QtikZ 0.10 binary package for Ubuntu Lucid
安装,然后修改默认的配置文件,即
sudo gedit /usr/share/qtikz/templates/template_example.pgs
修改为:

\documentclass[border=0pt]{standalone}
\usepackage{amsmath}
%\usepackage{mathptmx}
\usepackage{tikz}
\usetikzlibrary{calc,positioning,shadows.blur,fit,decorations.text,arrows,arrows.meta,
backgrounds,mindmap,trees,matrix,shapes}
\usepackage{pifont}
\renewcommand{\labelitemi}{\ding{112}}
\usepackage{xeCJK}
%\setCJKmainfont{SimSun}
%\usepackage{color}
\usepackage[active,xetex,tightpage]{preview}
\PreviewEnvironment[]{tikzpicture}
\PreviewEnvironment[]{pgfpicture}
\DeclareSymbolFont{symbolsb}{OMS}{cmsy}{m}{n}
\SetSymbolFont{symbolsb}{bold}{OMS}{cmsy}{b}{n}
\DeclareSymbolFontAlphabet{\mathcal}{symbolsb}
\begin{document}
<>
\end{document}

即可。然后在编辑区写入 \begin{tikzpicture} \end{tikzpicture} 就能使用中文啦。
当然还需要将编译命令设为xelatex,在settings->Configure QTikz的 PDFLatex那里选为xelatex的路径,
/usr/local/texlive/2018/bin/x86_64-linux/xelatex

添加自定义的style

例如我想用一个不在ctan中的库 moeptikz,就可以将其style文件下载,然后放入模板文件所在的目录,即/usr/share/qtikz/templates/
并在模板文件中加入

\usepackage[shading]{moeptikz}
\newcommand*{\nodelabel}[1]

即可编译moeptikz提供的示例图片啦。

spacemacs

Ubuntu 库里的emacs版本貌似是24,太低了装不了spacemacs

首先下载 emacs,并安装

tuna下载最新版,我下的是26.1.
解压。
安装步骤参考目录里的 INSTALL 文件即可。
运行 ./configure,如果提示缺少库最好安装上,如提示我缺少 xpm
就可:sudo apt install libxpm-dev
貌似还提示我装gnutils,装上即可。

然后make,根据INSTALL 文件的指示,先测试能否运行,./src/emacs -Q 貌似是这个命令哈,不记得了。
如果能运行,那就安装到系统中吧,sudo make install,然后就可以把安装文件删掉了。

安装 spacemacs

git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
然后打开emacs,就会自动安装很多东西。

实际上我们还需要更改melpa源为tuna源,要不然安装package的时候实在是太慢了。
关于spacemacs的源的配置以及其他配置详见: spacemacs 的配置

使用搜狗输入法

我的系统默认语言是英语。
打开emacs,此时使用我设置好的快捷键ctrl_,无法切换到搜狗输入法,从系统右上角的图标切换到搜狗,仍然无法输入汉字。
参考:

  1. http://www.voidcn.com/article/p-fzepkvdm-um.html
  2. http://heartnheart.github.io/blog/2015/01/15/SogouIME_on_English_Ubuntu_14.04/
  3. https://emacs-china.org/t/topic/974

有好几种解决方法:

  1. 在命令行直接运行emacs:LC_CTYPE='zh_CN.UTF-8' emacs
  2. .bashrc中加入 export LC_CTYPE=zh_CN.UTF-8 然后运行 emacs
  3. 编辑/etc/environment文件。sudo gedit /etc/environment,在后面加上,
    export LC_CTYPE="zh_CN.utf8"

这里我用的是第三种方法。
然后打开emacs,将emacs的图标固定到launcher即可。
此时就可以用搜狗啦。

注:

如果用第二种方法,那么固定到launcher之后还是没法用。

2021.4.8update: 在我的20.04上,第三种方法还是有bug的,我在 startup applications 中加入启动项 export LC_CTYPE=zh_CN.UTF-8 之后,只要打开了系统的设置,例如 startup applications,就会没法输入中文了,所以尽量别打开吧。

如果上面的设置还是用不了搜狗输入法的话,那么就勉强用spacemacs 自带的 chinese layer 中的pyim吧。

根据Chinese layer的说明,我们只需要在dotspacemacs-configuration-layers中加入chinese,然后在dotspacemacs/user-config中加入配置:

(setq-default dotspacemacs-configuration-layers '((chinese :variables
chinese-enable-fcitx t)))  
(require 'pyim-basedict)
(pyim-basedict-enable)

注意:输入法的切换命令是:C+\

tmux

安装tmux

按照官方说明 安装就行了。

安装定制插件

按照Oh My Tmux! 的说明 进行安装。
安装完重启shell就能用这个插件了,如果不行就重启电脑吧。

根据修改修改默认的prefix

由于我有时候需要在终端运行emacs,即 emacs -nw,而 不管是 C-a 还是 C-b 在 emacs 中都很常用,因此 tmux 默认的 prefix C-a 以及 Oh My Tmux 默认的 prefix C-b 需要改一下。

注意:不改也是可以的,这时候根据If I set key bind of C-b to c-a in tmux how can I move the cursor to the beginning of the line? 的说明,C-b C-b 就会把真正的 C-b 发给terminal,同理 C-a C-a 也是。

如果要改的话,根据Oh My Tmux! 的说明,只需要修改文件 ~/.tmux.conf.local 即可。
在该文件最下面的地方有一段配置:

# replace C-b by C-a instead of using both prefixes
# set -gu prefix2
# unbind C-a
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix

将这一段改成:

# set C-j as the only prefix
set -gu prefix2
unbind C-a
unbind C-b
set -g prefix C-j
bind C-j send-prefix

然后保存,重启电脑就行啦。

给所有pane 发送同样的指令

参考:How to send a command to all panes in tmux?

编辑 ` ~/.tmux.conf.local`,在末尾加入以下内容:

bind -n C-[ setw synchronize-panes on
bind -n C-] setw synchronize-panes off

然后使配置文件生效: $ tmux source-file ~/.tmux.conf.local

注意,一开始我绑定了 C-x 作为快捷键,但是它和 nano的退出键冲突了,改成现在这样就好啦。

这样,运行 C-[ 就能全选所有pane,运行 C-] 就能取消全选。

如何在tmux重启之后还能恢复 tmux 环境

参考:Tmux Resurrect

首先将代码拷贝到 .tmux 目录:
git clone https://github.com/tmux-plugins/tmux-resurrect .tmux

然后在 ` ~/.tmux.conf.local 末尾加入以下内容: run-shell /home/marquis/.tmux/tmux-resurrect/resurrect.tmux`

注意这里要替换成你自己的路径哈。

然后使配置文件生效: $ tmux source-file ~/.tmux.conf.local

用法就行:

prefix + Ctrl-s 就是保存环境。
prefix + Ctrl-r 就是恢复环境。

常用快捷键汇总

本节主要参考:

  1. Tmux 快捷键 & 速查表
  2. Oh My Tmux! 的说明

窗口相关:

c  创建新窗口
w  列出所有窗口(然后就可以切换过去啦)   
f  查找窗口(然后就可以切换过去啦)
,  重命名当前窗口
&  关闭当前窗口
`<prefix> C-h` 和 `<prefix> C-l` 用来快速切换(左右的)窗口,上面的 `w` 和 `f` 还得按导航键或输入数字进行切换。
`<prefix> Tab` 切换至 last active window

pane相关:

<prefix> - 垂直分割 pane
<prefix> _ 水平分割pane
<prefix> h, <prefix> j, <prefix> k and <prefix> l 通过 Vim 的方式对pane进行导航
<prefix> H, <prefix> J, <prefix> K, <prefix> L 快速 resize panes
<prefix> < and <prefix> > 交换 panes
<prefix> + 将当前 pane 最大化,并将其放到一个新的 window
<prefix> m 开启或关闭鼠标模式
x 关闭pane

视频播放组件

参考 How To Enable Ubuntu 18.04 LTS To Play Videos Files .
运行:

 sudo apt install libdvdnav4 libdvdread4 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libdvd-pkg
 sudo apt install ubuntu-restricted-extras

实际上,只运行第一行就行了,第二行貌似安装了一坨字体,感觉不是很有必要。

录屏软件

OBS Studio ,主播专用,可以推流,也可以录屏、录窗口。