Ubuntu的一些配置

本博文记录一些常用的Ubuntu配置操作 ✈✈✈

1. 添加新用户,并设置密码、权限

添加新用户
sudo useradd go -d /home/go -m
#第一个go,指用户名
#-d /home/go 指定用户登录系统时的主目录,宿主目录
#-m 如果/home/go路径不存在,自动创建
查看新建的用户
cat /etc/passwd | grep go
给新用户设置密码
sudo passwd go
新用户增加sudo权限

在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤,可以很简单的解决此问题。

修改/etc/sudoers权限
sudo chmod u+w /etc/sudoers
#增加写权限
编辑/etc/sudoers文件
sudo vi /etc/sudoers

恢复原来/etc/sudoers权限

sudo chmod u-w /etc/sudoers

解决远程登录问题

如果通过ssh客户端远程登录新用户,发现诸多问题,无法显示用户名和主机名、无法使用方向键、clear的快捷键、tab键补全……

问题解决

修改/etc/passwd文件:

sudo vim /etc/passwd

找到新增的用户go,添加如下内容:

重新远程登录即可。

2. Ubuntu更新

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade 
sudo reboot
sudo apt-get update
sudo update-manager -c -d

3. 安装Google浏览器

对于64位版本可以使用如下链接下载:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

下载完后,运行如下命令安装。
sudo dpkg -i google-chrome*
sudo apt-get -f install

因为我一直使用Google浏览器,很多书签都在上面所以换到Ubuntu上也可以直接同步了,当然还是要科学上网了才能同步。直接查看Ubuntu下如何科学上网

4. 安装搜狗输入法

首先下载 *.deb 软件包https://pinyin.sogou.com/linux/?r=pinyin

sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb
sudo apt-get install -f

5. Ubuntu安装Vim编辑器

sudo apt-get install vim    //没有图形界面
sudo apt-get install vim-gtk     //gtk gui 支持的vim,使用gvim启动
Vim编辑器显示行号和设置缩进
cd \etc\vim\vimrc
vim vimrc
#添加下面语句
set nu
set tabstop = 4
set shiftwidth = 4
set softtabstop = 4

6. 安装git

sudo apt-get install git

7. Ubuntu截图

Ubuntu System Setting->Keyboard->Screenshots->Copy a screenshot of an area to clipboard

修改这一选项的快捷键,可以选择窗口面积截图。我设置的是和QQ相同的Ctrl+Alt+A。

8. Ubuntu Firefox浏览器安装Flashplayer插件

Flashplayer插件下载地址: https://www.flash.cn/

选择其他平台,下载Linux版本

tar -zxvf flash_player_npapi_linux.x86_64.tar.gz
sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
sudo cp -r usr/* /usr

9. Ubuntu下安装Typora

# or use:
# sudo apt-key adv --keyserver keyserver.ubuntu.com--recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update

# install typora
sudo apt-get install typora

Typora官方安装指导
https://support.typora.io/Typora-on-Linux/

10. Ubuntu下科学上网

Lantern GitHub主页

Lantern每个月有免费的500MB可以使用,有总比没有好。

Chrome插件:

1.crx4chrome

谷歌应用商店【官方链接】, 与官方商店相比,Crx4Chrome 给出的数据信息更加全面,热门扩展排行、热门应用排行、最新扩展等不同形式的排行榜,帮助用户发现自己需要的 Chrome 扩展。

链接:https://www.crx4chrome.com/

2.Chrome插件网

Chrome插件(谷歌浏览器插件) - 提供Chrome商店中优秀的Chrome插件推荐与下载服务。Chrome插件网致力于帮助用户找到、安装、学会使用优秀的Chrome插件来提高谷歌浏览器的使用体验,Chrome插件只为让用户在使用Chrome的时候舒服一点!

链接:http://chromecj.com/

3.插件网

帮助中国用户快速下载常用的Chrome插件!

链接:http://www.cnplugins.com/

4.浏览器插件下载中心

提供的插件,应用,游戏,主题是同步于Chrome海外市场,理论上所有插件都适用与Chrome内核的浏览器,也就是说除IE,Safari,火狐 外,国内绝大多数厂商的都可以使用。

链接:https://www.chromefor.com/

5.谷歌Apps

Chrome插件下载中心,谷歌浏览器应用商店。

链接:https://www.gugeapps.com/

6.我爱插件网

链接: http://52crx.com

11. Ubuntu使用常见问题

安装软件命令

tar -zxvf *.tar.gz            # 解压命令
sudo apt-get install ***    # 安装命令

系统信息

查看系统版本
cat /proc/version

CPU信息

查看CPU信息
cat /proc/cpuinfo

内存信息

查看内存及用量(M为单位)
free -m
查看内存及用量(G为单位)
free -g

硬盘用量

查看各分区使用情况
df -h
查看当前目录文件及文件夹大小
du -sh *

GPU信息

查看 GPU 使用情况
nvidia-smi

进程

查看所有进程
ps -ef
筛选进程
ps -ef | grep python
根据名称强制杀死进程
ps -ef | grep python | cut -c 9-15 | xargs kill -9

用户

添加用户
sudo adduser username -m
添加用户并设置目录
sudo adduser username -d /home/username -m
将用户设置超级用户组(如添加到 sudo 用户组)
sudo usermod -aG sudo username
查看所有用户组
groups
查看某个用户组下所有用户
sudo apt-get install members
members sudo

12. 如何让代码在后台运行

由于实验室的网实在是不稳定,所以经常遇到跑了好几个小时的代码快要出结果的时候却断网了,导致与服务器的连接中断,代码也就自然而然的停止运行了(至于其中的具体原因可以自行百度)。这点真的让人很苦恼。同时,当你的ssh在执行一个代码时,你如果不新建一个连接,你在这个连接中是无法干其他的事情的,这一点也很不好。于是,考虑可以把代码放到服务器后台运行。

第一种 nohup

最开始的做法是

$ nohup python test.py

这样执行的时候会将代码放在服务器后台执行,你的终端是看不到运行过程的,期间运行的结果(代码运行过程中打印出来的)会在一个生成的nohup.out文件中保存。

第二种 screen

后来接触到了screen命令,觉得着实好用,在这里 安装参考

可以简单的认为用这个命令你可以为不同的任务开不同的窗口,这个窗口之间是可以切换的,同时,窗口和你的会话连接基本上没有任何区别,这样你可以在开一个连接的时候同时干多件事情,并且在终端看得到运行过程的同时而不会由于断网而导致代码停止运行。其常用命令如下:

screen -S name #创建一个窗口,并且为这个窗口命名
$screen -S yolo

当你执行完以上命令后,就会自动跳入名为yolo的窗口,在这个窗口里可以干你想干的事情。

当你不想呆在这个窗口时,你可以通过快捷键Ctrl+a+D断开这个窗口的连接而回到连接会话界面。即显示如下

[detached from 28113.yolo]
user@ubuntu-Super-Server:~/code$

说明从yolo这个窗口断开回到了会话界面。但是这个断开只是不显示那个窗口,而窗口对应的任务是在后台运行的。

$screen -S ls #可以查看已创建的所有窗口

执行上述指令后,出现如下结果,说明创建了两个窗口,可以看到窗口的名字和id,Detached说明窗口是断开的,再次强调这里的断开是指没有让他显示,其对应的任务是在后台执行的。

user@ubuntu-Super-Server:~/code$ screen -ls
There are screens on:
    28475.ssd    (2017年11月27日 20时07分41秒)    (Detached)
    28113.yolo    (2017年11月27日 19时57分26秒)    (Detached)

如果想看其中一个窗口任务的执行状态,可以通过如下指令:

$screen -r ssd #重新连接到yolo窗口,显示其运行过程

如果想直接停止某个窗口任务的运行,可以直接通过杀死id的方式

$kill 28475 #终止ssd窗口对应任务的运行,同时杀死该窗口

执行完以上指令再看存在的窗口时后会发现只剩名为yolo的窗口了

user@ubuntu-Super-Server:~/code$ screen -ls
There is a screen on:
    28113.yolo    (2017年11月27日 19时57分26秒)    (Detached)

总结一下,screen可以实现代码在后台运行时的可视化,同时,能在开一个会话连接时创建多个窗口处理不同的任务。用起来也很方便。

第三种 Tmux : 强烈推荐用tmux 👍

简介

tmux 是一个优秀的终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。

功能特点
  • 一个虚拟终端可以管理多个会话,窗口和面板

  • 支持分屏,同时处理多个操作

  • 窗口、面板可以在会话间自由移动,切换

  • 丰富灵活的状态行展示

  • 支持自定义快捷键,依照个人习惯配置令操作更高效

  • 不受断网影响,避免丢失重要工作进度

  • 结对编程,方便演示与协作

  • 自带复制粘贴缓冲区管理

  • 脚本化配置,可配置多种操作环境

层次结构

tmux的主要元素分为三层:

  • Session 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。
  • Window 单个可见窗口。Windows有自己的编号,也可以认为和ITerm2中的Tab类似。
  • Pane 窗格,被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。
安装tmux
sudo apt-get install tmux
基本操作

首先在tmux会话中使用的快捷键都需要一个前缀来激活,前缀默认为Ctrl+b(即:在按快捷键之前需要按一下前缀)。

查询所有会话(Session)

在命令行输入下列命令查询当前所有会话。

tmux ls

你会发现no server running on /private/tmp/tmux-501/default,这是因为我们还没有创建会话(Session)。

创建会话(Session)
tmux new -s session-name

通过上述命令新建一个有特定名称的会话。 一般情况下我们不会使用下列命令创建不指定名字的会话。

tmux new
断开会话(Session)

使用下列命令断开当前会话(断开会话并不影响会话中运行的程序,断开后还可以重新连接)

tmux detach

或者使用tmux中的快捷键

Ctrl+b d(即先使用Ctrl+b快捷键前缀,然后再按d)
重新连接会话(Session)

在命令行输入tmux a即可快速连接第一个所有会话中的第一个。

tmux a

或者通过会话名连接该一个会话

tmux a -t session-name
关闭会话

通过下列命令关闭会话后,会话中的程序也会全部关闭。

tmux kill-session -t session-name

当然你也可以通过直接按Ctrl+d关闭会话、窗口或窗格。

tmux中的快捷键参考

注意以下快捷键适用于tmux会话中,使用前皆需要按下快捷键前缀Ctrl+b。

帮助
  • ? 获取帮助信息
会话(Session)管理
  • s 列出所有会话
  • $ 重命名当前的会话
  • d 断开当前的会话
窗口(Window)管理
  • c 创建一个新窗口
  • , 重命名当前窗口
  • w 列出所有窗口
  • % 水平分割窗口
  • “ 竖直分割窗口
  • n 选择下一个窗口
  • p 选择上一个窗口
  • 09 选择09对应的窗口
窗格(Pane)管理
  • % 创建一个水平窗格
  • “ 创建一个竖直窗格
  • q 显示窗格的编号
  • o 在窗格间切换
  • } 与下一个窗格交换位置
  • { 与上一个窗格交换位置
  • ! 在新窗口中显示当前窗格
  • x 关闭当前窗格
其他
  • t 在当前窗格显示时间

13. linux远程可视化- MobaXterm的安装和使用

安装

1 下载网址:https://mobaxterm.mobatek.net/,选择“Download”,选择免费版的下载。

2 解压压缩包,双击exe文件安装软件,安装完成后打开软件。

其中的安装步骤没啥说的,下一步就可以了。

安装完成后如下图

如果遇到这个问题,直接点Ignore就可以进入了。。。

登陆

  1 单击左上角的”Session”按钮

  2 在弹出框中点击“SSH”选项

  3 在“Remote host”中输入绑定的弹性 IP 地址

  4 勾选“Specify username”并输入用户名

  5 点击 OK,输入 password ,回车进入控制台

如下,就是 Mobaxterm界面了,恭喜你已经完成了最重要的一步。。

  • 右侧是控制台
  • 左侧是其图形化界面

文件上传

  1 单击左上角的”Session”按钮

  2 在弹出框中点击“sftp“选项

  3 在“Remote host”中输入控制台的弹性IP 值

  4 勾选“username”并输入用户名

  5 点击 OK,输入 password ,回车进入控制台的图行化界面

文件拖拽上传

打开 Mobaxterm 工具的控制台,点击 sftp 栏,切换到控制台的图形化界面。

Mobaxterm 支持文件从本地到控制台的拖拽上传。

点击上传 的按钮 ,选中下载的 jar 包,上传到控制台的安装目录。

最后,你就可以用Linux的命令来操作控制台了。


   转载规则


《Ubuntu的一些配置》 王雨 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
CV秋招准备的建议 CV秋招准备的建议
本博文记录一些计算机视觉(CV) 岗位 秋招应聘准备的建议 ✈✈✈ 秋招算法岗真是有点狠,菜的菜的出奇,强的强的可怕(大佬芸芸),总结自己和其他人的面试经验,列出一些必须要看的东西,至于特别详细的内容,暂时抽不出时间来写了(毕业论文
2019-11-02
下一篇 
ICIP2019-难忘的台湾之行 ICIP2019-难忘的台湾之行
ICIP国际图像处理大会2019年9月22日于台北顺利召开,这篇博文用来记录我在台北难忘的一周见闻.
  目录