个人Linux环境配置
更新源
找到Software & Updates,将源更新为阿里云的源
在Other Software里将Canonical Partners勾上
然后自己手动更新一下:
1 |
|
Sougou Pinyin
1 |
|
重启
找到Fcitx Configure,设置输入法
截图软件 Shutter
下载libgoocanvas-common、libgoocanvas3、libgoo-canvas-perl
1 |
|
将上述三个包给安装上,若安装失败,执行下面代码:
1 |
|
然后再安装这几个包
视频和音频
安装解码器:
1 |
|
安装VLC视频播放器
1 |
|
安装FFmpeg
1 |
|
网易云音乐 官网
设置: 点击图标最小化
1 |
|
美化
1 |
|
从gnome-look这里下载,或者通过pling和 ocs-url直接安装
或者手动下载下来,接下来解压到指定文件夹,并安装他们。
1
2
3
4
5
6
7
xz -d Gnome-OSC-HS-light-menu*.tar.xz
tar -xvf Gnome-OSC-HS-light-menu*.tar -C /usr/share/themes/
xz -d Gnome-OSC-HS--2*.tar.xz
tar -xvf Gnome-OSC-HS--2*.tar -C /usr/share/themes/图标:/usr/share/icons/
其他主题:/usr/share/themes/
如果Shell显示不可修改,
1 |
|
安装压缩软件
1 |
|
Chrome Brower
1 |
|
安装多版本gcc和g++,并共存
1 |
|
然后选择gcc和g++版本
1 |
|
CMAKE
https://cmake.org/download/
安装在/opt下,软连接到/usr/bin/
1 |
|
complete cmake process with following libs:(boost版本较低,需要手动安装较高版本,见下文Boost部分)
1 |
|
openSSL
1 |
|
编写简单的cmake
https://cmake.org/cmake/help/v3.17/guide/tutorial/index.html
使用cmake首先得有个CMakeList.txt文件,你需要把配置信息写在该文件中,然后通过cmake去处理该文件。 将设有下面一个main.cpp文件
1
2
3
4
5
6
7
//main.cpp文件
\#include<iostream>
using namespace std;
int main(){
cout<<"hello world!"<<endl;
return 0;
}这时候我们就可以写个如下的CMakeList.txt文件
1
2
3
4
5
6
7
8
9
10
11
\#cmake最小需要版本
cmake_minimum_required(VERSION 2.8)
\#项目名字
project(HELLOWORLD)
\#包含原程序,即把给定目录下的源程序复制给变量DIR_SRC
aux_source_directory(DIR_SRC ./)
\#生成程序
add_executable(helloworld ${DIR_SRC})然后执行如下命令
1
2
3
4
5
mkdir build
cd build
cmake ..
make
./helloworld这样就编译好程序并运行。
添加静态库或者动态库
而假设我们程序用到了在/usr/lib下的一个静态库libmy.a,那就需要添加如下两个命令
1
2
3
4
5
\#库所在位置
link_directories(/usr/lib)
\#程序编译时候链接库
target_link_libraries(helloworld my)
Boost
下载https://www.boost.org/users/history/version_1_72_0.html
1 |
|
Boost库的编译安装还有一些依赖库,需要先安装
1 |
|
回到boost库的路径下,运行如下命令
1 |
|
--prefix后面跟的是你安装boost库的路径,安装完成后所有的头文件和lib库都会保存在这个路径下
若 ./b2不加 install --prefix=/usr 会编译到当前文件夹下,安装没有链接成功,因此手动链接。
1
2
sudo ln -sf /usr/local/boost_1_72_0/boost/* /usr/include/boost/include/
sudo ln -sf /usr/local/boost_1_72_0/stage/lib/* /usr/include/boost/lib/然后加入环境变量/etc/profile
1
export env=$PATH:/usr/include/boost
只是用头文件示例程序
不需要先编译boost,直接引入头文件就行。
这个程序用到了boost提供的正则匹配库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main()
{
std::string line;
boost::regex pat("tcp:*");
while(std::cin)
{
std::getline(std::cin, line);
boost::smatch matches;
if(boost::regex_match(line, matches, pat))
std::cout << matches[0] << std::endl;
}
}依旧通过CMake进行编译
- 首先设置Boost库的路径,也就是之前的安装路径
- 然后使用find_package来搜索这个路径下面是否有需要的regex库
- 最后设置头文件搜索路径以及把找到的库link到应用程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
project(tutorial-0)
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 14)
set(BOOST_ROOT /usr/local/boost_1_72_0)
find_package(Boost COMPONENTS regex REQUIRED)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(foo foo.cpp)
target_link_libraries (foo ${Boost_LIBRARIES})
endif()编译完成后运行app查看结果
多版本python和pip共存
ubuntu18.04自带python3,但是没有python2,pip2,pip3
1 |
|
VS Code
微软官网下载deb
安装即可
Git
1 |
|
有道词典
官网下载安装即可
typora
官网打包的二进制 Typora 在 Ubuntu (gnome) 上安装为应用程序(可被选择为默认程序)
1 |
|
sublime-text
https://www.sublimetext.com/docs/3/linux_repositories.html#apt
jetbrains
https://www.jetbrains.com/toolbox-app/
Terminator
新的shell界面
- 常用快捷键
快捷键 | 作用 |
---|---|
Ctrl+Shift+E | 垂直分割窗口 |
Ctrl+Shift+O | 水平分割窗口 |
Ctrl+Shift+W | 关闭当前窗格 |
Ctrl+Shift+C | 复制 |
Ctrl+Shift+V | 粘贴 |
Ctrl+Shift+X | 放大或缩小某一窗口 |
Ctrl+Shift+Z | 从放大窗口回到多窗格界面 |
ALT+↑[↓,←,→] | 移动到上[下、左、右]面一个窗口 |
Ctrl+Tab | 切换窗口 |
Ctrl+- |
缩小字体 |
Ctrl+Shift+= 也就是Ctrl++ |
放大字体 |
Zsh fish
使用oh-my-zsh
来自动管理配置,可以查看官网:https://ohmyz.sh/
zsh官方的antigen
来管理
https://github.com/zsh-users/antigen
1 |
|
在 ~/.zshrc
中添加下面的内容
1 |
|
进入zsh
乱码问题
1 |
|
在优化中设置等宽字体为powerline类型字体中的一个
其他选择:fish
https://link.zhihu.com/?target=https%3A//wiki.archlinux.org/index.php/Fish
TLDR
https://tldr.sh/:常用命令范式查找工具
文件查找
find
locate
fd:fd is a simple, fast and user-friendly alternative to find.
代码查找
重要的是:有些问题使用合适的工具就会迎刃而解,而具体选择哪个工具则不是那么重要
grep
查找Shell历史
Ctrl+R
对命令历史记录进行回溯搜索
文件夹导航
fasd:查找最常用和/或最近使用的文件和目录
npm
1 |
|
安装nrm工具,用于管理软件源。
1 |
|
在特定网络环境下需要配置代理的话,可以使用如下命令配置。
1 |
|
vim
安装VIM
1 |
|
https://spacevim.org/documentation/:spacevim插件集合
or
https://github.com/spf13/spf13-vim:一键配置插件集合
http://vim.spf13.com/#install
1 |
|
- tmux
Ubuntu并不自带tmux,所以我们需要输入以下指令进行安装:
按下 Ctrl + d 或者直接在命令行输入 exit 指令,就可以退出Tmux窗口。
Tmux窗口有很多的快捷键,所有的快捷键都需要前缀键。默认的前缀键是 Ctrl + b,只有先按下 Ctrl + b,快捷键才能生效。举例来说,帮助指令的快捷键是 Ctrl + b ?。那么在Tmux窗口下,先按下 Ctrl + b,再按下 ?,就能显示帮助信息。
tmux重要指令的总结:
tmux new -s |
新建一个特定名称的会话 |
---|---|
tmux detach | 将当前会话与窗口分离 |
tmux ls / tmux list-session | 查看当前所有的Tmux会话 |
tmux attach -t |
重新连接某个已存在的会话 |
tmux kill-session -t |
删除某个会话 |
tmux switch -t |
切换会话 |
tmux rename-session -t |
重新命名会话 |
会话相关的快捷键:
Ctrl + b d | 分离会话 |
---|---|
Ctrl + b s | 列出所有会话 |
Ctrl + b $ | 重命名当前会话 |
Tmux可以在一个窗口中分出多个窗格 (pane),每个窗格可以运行不同的指令。以下是相关快捷键:
Ctrl+b % 划分左右两个窗格 Ctrl+b “ 划分上下两个窗格 Ctrl+b
- 代码折叠
zc |
关闭当前打开的折叠 |
---|---|
zo |
打开当前的折叠 |
zm |
关闭所有折叠 |
zM |
关闭所有折叠及其嵌套的折叠 |
zr |
打开所有折叠 |
zR |
打开所有折叠及其嵌套的折叠 |
zd |
删除当前折叠 |
zE |
删除所有折叠 |
zj |
移动至下一个折叠 |
zk |
移动至上一个折叠 |
zn |
禁用折叠 |
zN |
启用折叠 |
SimpleScreenRecorder
1 |
|
Dumb downloader that scrapes the web
: tget is wget for torrents
Unity Tweak 工具
1 |
|
使用 parcellite剪切板
1 |
|
设置登录背景
假设我现在用的图片是mypicture.jpg , 将它移动到/usr/share/backgrounds/目录下
1 |
|
Ubuntu现在用的Gnome的桌面,和以前Unity时候的配置文件不一样,所以16.04的教程是用不了的,18.04登录背景相关的配置是用css的:/etc/alternatives/gdm3.css
1 |
|
1 |
|
保存并重启.
apt-get使用
apt-get命令本身并不具有管理软件包功能,只是提供了一个软件包管理的命令行平台。
apt-get命令的一般语法格式为: apt-get subcommands [ -d | -f | -m | -q
| --purge | --reinstall | - b | - s | - y | - u | - h | -v ] [pkg]
apt-cache提供了搜索功能。
更新或升级操作: apt-get update # 更新源
apt-get upgrade # 更新所有已安装的包
apt-get dist-upgrade # 发行版升级(如,从10.10到11.04)安装或重装类操作: apt-get install
# 安装软件包 ,多个软件包用空格隔开
apt-get install --reinstall# 重新安装软件包
apt-get install -f# 修复安装(破损的依赖关系)软件包 - 卸载类操作: apt-get remove
# 删除软件包 (不包括配置文件)
apt-get purge# 删除软件包 (包括配置文件)
- 卸载类操作: apt-get remove
下载清除类操作: apt-get source
# 下载pkg包的源代码到当前目录
apt-get download# 下载pkg包的二进制包到当前目录
apt-get source -d# 下载完源码包后,编译
apt-get build-dep# 构建pkg源码包的依赖环境(编译环境?)
apt-get clean # 清除缓存(/var/cache/apt/archives/{,partial}下)中所有已下载的包
apt-get autoclean # 类似于clean,但清除的是缓存中过期的包(即已不能下载或者是无用的包)
apt-get autoremove # 删除因安装软件自动安装的依赖,而现在不需要的依赖包查询类操作: apt-cache stats # 显示系统软件包的统计信息
apt-cache search# 使用关键字pkg搜索软件包
apt-cache show# 显示软件包pkg_name的详细信息
apt-cache depends# 查看pkg所依赖的软件包
apt-cache rdepends# 查看pkg被那些软件包所依赖 关于软件安装目录的说明:
一般的deb包(包括新立得或者apt-get下载的)都在/usr/share。
自己下载的压缩包或者编译的包,有些可以选择安装目录,一般放在/usr/local/,也有在/opt的。
- 关于apt-get的缓存目录:
默认的缓存目录是/var/cache/apt/archives/
为日后重装系统后安装软件节省下载时间或者将软件包给别人用
参考链接:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!