skills_ubuntu

目录

skills_ubuntu

1 ubuntu20.04 安装微信、qq、腾讯会议等(其他软件都可以安装)

使用winehq。尝试过,是个巨坑,能安装winehq本身,但是使用wine安装微信等软件时各种报错。另外,ubuntu上的wine,安装后也无法使用。果断弃用!
使用deepin-wine。发现网页无法访问。
过段时间再尝试下。
上午尝试,可以访问了,可能是晚上服务器关闭了,白天可以访问。
wget -O- https://deepin-wine.i-m.dev/setup.sh | sh # 报错 connection refused
使用docker,待尝试。

2 ubuntu20.04 全自动安装后的分区状况


3 安装ubuntu后需要按照如下顺序配置系统

3.1 设置root密码

sudo passwd
然后按照提示输入root密码。
注意:如果passwd后面没有跟某个特定用户,则默认是修改root的密码,否则,是修改那个特定用户的密码

3.2 查看、配置ip、网关、DNS

  1. 查看ip: ip addr [ show wlp2s0 | eno1 ]
    ifconfig [ wlp2s0 | eno1 ]
  2. 查看gateway: netstat -rn 或 route -n
  3. 查看DNS: systemd-resolve --status
  4. 配置静态ip(不配置的话,默认是动态分配ip、网关、dns):
sudo vim /etc/netplan/01-network-manager-all.yaml 
(网上也有配置这个文件的: sudo vim /etc/netplan/50-cloud-init.yaml)
内容如下:
Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

如果要配置动态ip,则以下的配置都注释掉即可

  ethernets:
    wlp2s0:
      dhcp4: no # dhcp4关闭
      addresses: [192.168.6.6/24] # 设置本机IP及掩码
      gateway4: 192.168.6.1 # 设置网关
      nameservers:
        addresses: [10.64.0.10,10.64.0.100] # 设置DNS

然后保存、重启网络服务:sudo netplan apply
验证网络:ip addr show wlp2s0

注: 该方法未成功,以后再测试。参考下面的路由器绑定ip、mac的方法,可能需要执行systemctl stop/start NetworkManager

  1. 路由器上绑定ip和mac(亲测成功!)
  • 在路由器上绑定
  • 重启网络服务
# note:一定要先stop,在start,如果直接systemctl restart NetworkManager,可能会不生效(亲测)
systemctl stop NetworkManager
systemctl start NetworkManager
systemctl status NetworkManager

3.3 允许远程登录

  1. 检查是否开启SSH服务
    命令:ps -e|grep ssh 查看SSH服务是否开启,或者通过命令:service sshd status 可以查看某个服务的状态。
  2. 安装SSH服务
    通过apt-get 安装,命令:apt-get install ssh
  3. 启动SSH服务
    命令:sudo /etc/init.d/ssh start
  4. 修改SSH配置文件
    命令:sudo vim /etc/ssh/sshd_config,找到PermitRootLogin without-password 修改为PermitRootLogin yes
  5. 重启SSH服务
    命令:service ssh restart

3.4 更换国内源

备份初始源
sudo cp /etc/apt/sources.list{,.bak}
为了方便,也可以直接切换到root进行操作:sudo su - root
更换源
vim /etc/apt/sources.list
删除全部内容之后,添加上新的源

  1. 阿里源:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
  1. 清华源:(安装docker时竟然连接不上清华的服务器,弃用)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

更新
更新软件列表sudo apt-get update
更新软件(将已安装的软件与刷新的软件列表中的软件版本进行对比,如果发现已安装的软件版本太低,就会提示更新)
sudo apt-get -y upgrade

3.5 install apt-fast(无法连接服务器,导致无法安装所有的软件,暂时不安装)

sudo add-apt-repository ppa:apt-fast/stable
sudo apt-get update
sudo apt-get -y install apt-fast
# 其中,可能会进入图形界面,全部点击esc退出即可
# 安装好之后,凡是用到apt-get的地方,全部替换成apt-fast

3.6 install vim

apt-get install -y vim
# 如果报错The following packages have unmet dependencies: vim : Depends: vim-common,则先执行 sudo apt-get purge vim-common,再安装vim

3.7 将普通用户加入sodu group

# 此处一定要root用户执行 
vim /etc/sudoers

复制 root    ALL=(ALL:ALL) ALL 到下面一行,修改root为需要添加进sodu组的用户名
witt    ALL=(ALL:ALL) ALL

3.8 安装wps,Google chrome,docker版的wechat,搜狗输入法,VLC,音乐播放器(暂时也使用VLC)

3.9 安装jdk

  1. 卸载openjdk
    rpm -qa | grep java
    rpm -e --nodeps xxxxxxxxxxxxxxxxxxx

如果需要的话,可以设置一下类路径的环境变量: export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  1. 安装openjdk
    sudo apt-get install openjdk-8-jdk

3.10 安装idea,VMware player,等

4 Ubuntu系统添加和删除PPA源

添加PPA源:sudo add-apt-repository ppa:app-name/ppa-name
更新:sudo apt update
删除PPA源:sudo add-apt-repository -r ppa:app-name/ppa-name
更新:sudo apt update

5 Ubuntu18.04 彻底删除账户,同时删除该账户的家目录

sudo userdel -r kingbase

6 ubuntu18.04 设置ssh免密登录

reference: https://blog.csdn.net/yangpingping94/article/details/105053914

7 Ubuntu18启用禁用触控板

vim touchpad
#!/bin/bash
# 查询触控板的pid,因为该pid可能会变化,所以每次都动态获取
id=$(xinput | grep TouchPad | awk '{print $7}')
case "$1" in 
on)
xinput --enable ${id#*=}
;;
off)
xinput --disable ${id#*=}
;;
*)
echo "Usage: touchpad {on|off}"
;;
esac

reference:
github-touchpad
gitee-touchpad

8 ubuntu18 创建、启动、关闭docker版的微信

8.1 创建

vim createAndRunWechat.sh
#!/bin/bash
docker run -d --name wechat --device /dev/snd --ipc=host \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/WeChatFiles:/WeChatFiles \
-e DISPLAY=unix$DISPLAY \
-e XMODIFIERS=@im=fcitx \
-e QT_IM_MODULE=fcitx \
-e GTK_IM_MODULE=fcitx \
-e AUDIO_GID=`getent group audio | cut -d: -f3` \
-e GID=`id -g` \
-e UID=`id -u` \
bestwu/wechat

reference:
github-createAndRunWechat.sh
gitee-createAndRunWechat.sh

8.2 启动、关闭微信

vim wechat
#!/bin/bash
# start or stop wecaht container
case "$1" in
start)
xhost +
sudo docker start wechat
;;
stop)
sudo docker stop wechat
;;
status)
sudo docker ps
;;
*)
echo "Usage: wechat {start|stop|status}"
;;
esac

reference:
github-wechat
gitee-wechat

9 ubuntu18 启动idea

vim startidea
#!/bin/bash
nohup /develop/idea/bin/idea.sh > /develop/idea/idea.log 2>&1 &

reference:
github-startidea
gitee-startidea

10 Ubuntu18 启动postman

vim startpostman
#!/bin/bash
nohup /develop/postman/Postman > /develop/postman/postman.log 2>&1 &

reference:
github-startpostman
gitee-startpostman

11 ubuntu18 睡眠

睡眠:> sudo systemctl suspend

休眠:sudo systemctl hibernate # 该命令会导致系统强制关机,暂不用

12 ubuntu18,无法发现小米蓝牙耳机

尝试网上的重装、重置蓝牙模块的方法,均无效。最后发现是蓝牙耳机自己的问题,重置(初始化)蓝牙耳机之后,就可以被Ubuntu发现了,之后点击发现的耳机图标,自动连接。

13 Ubuntu18,压缩和解压缩命令大全

eg1. zip -r -9 -v xp.zip xp/ # 将当前目录下的xp目录,压缩到 xp.zip文件中
eg2. zip -rP PASSWORD1 compress1.zip compressedFiles/ # 递归压缩compressedFiles/ 目录,并且设置密码为PASSWORD1
reference: https://blog.csdn.net/hpu11/article/details/71524013

14 ubuntu18,创建文件服务器

sudo apt-get install -y apache2
systemctl status apache2
systemctl disable apache2
http://127.0.0.1/  # 检查是否能正常访问服务器
vim /etc/apache2/sites-available/000-default.conf  # 修改配置文件,比如文件服务器根目录

15 ubuntu18.04,左侧快速访问目录,添加自定义目录

方法1. 进入某一个目录,比如 /develop ,然后在空白处按 Ctrl + D ,就添加了 /develop目录的快速访问目录。并且右击 该目录,可以选择重命名、移除等操作。

方法2. refer to https://blog.csdn.net/weixin_34249367/article/details/91817579

16 ubuntu18,shell脚本启动停止金蝶中间件AAS

vim aas
#!/bin/bash
# operate kingdee aas container
case "$1" in
start)
nohup /develop/AAS-V9.0/domains/sca/bin/startapusic > /develop/AAS-V9.0/domains/sca/logs/scafe`date +'%Y%m%d%H%M%S'`.log 2>&1 &
echo Application started successfully
;;
restart)
/develop/AAS-V9.0/domains/sca/bin/stopapusic
# systemctl stop sca.asusic
sleep 2

PID=$(ps -ef | grep java | grep AAS-V9.0 | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill -9 $PID
echo Application stopped successfully
fi

nohup /develop/AAS-V9.0/domains/sca/bin/startapusic > /develop/AAS-V9.0/domains/sca/logs/scafe`date +'%Y%m%d%H%M%S'`.log 2>&1 &
echo Application started successfully
;;
stop)
/develop/AAS-V9.0/domains/sca/bin/stopapusic
# systemctl stop sca.asusic
sleep 2

PID=$(ps -ef | grep java | grep AAS-V9.0 | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill -9 $PID
echo Application stopped successfully
fi

;;
status)
ps aux | grep apusic
;;
*)
echo "Usage: aas {start|stop|restart|status}"
;;
esac

reference:
github-aas
gitee-aas

17 Ubuntu18,vmplayer利用命令启动虚拟机

vim startvm
#!/bin/bash
# start vm automatically
case "$1" in
    node1)
        vmplayer /develop/vm/node1/centos7.vmx 1>/dev/null 2>&1 &
        ;;
    node2)
        vmplayer /develop/vm/node2/centos7.vmx 1>/dev/null 2>&1 &
        ;;
    node3)
        vmplayer /develop/vm/node3/centos7.vmx 1>/dev/null 2>&1 &
        ;;
    xp)
        vmplayer /develop/vm/xp/WinXP.vmx 1>/dev/null 2>&1 &
        ;;
    bd)
        vmplayer /develop/vm/node1/centos7.vmx 1>/dev/null 2>&1 &
        vmplayer /develop/vm/node2/centos7.vmx 1>/dev/null 2>&1 &
        vmplayer /develop/vm/node3/centos7.vmx 1>/dev/null 2>&1 &
        ;;
    -h)
        echo version 1.0
        echo "Usage: vm {node1 | node2 | node3 | bd | xp}"
        echo "Additional options:"
        echo " -h"
        echo " -v"
        ;;
    -v)
        echo vm version: 1.0
        ;;
    *)
        echo "parameter error! Usage: vm {node1 | node2 | node3 | bd | xp}"
        ;;
esac

# example below: 
# vmware-networks version: 0.1
# Usage: vmware-networks [--verbose | -v] <option>
# Use exactly one of these commands:
#   --postinstall <component-name>,<old-version>,<new-version>
#   --migrate-network-settings <location of settings file>
#   --start
#   --stop
#   --status

# Additional options:
#   --help | -h
#   --version

reference:
github-startvm
gitee-startvm

18 关闭“最近使用”功能

如下图,禁止显示最近使用的文件,保护隐私。

method:
打开设置 -- 隐私 -- 用量及历史 ,关闭 “最近使用”,如下图所示:

19 gedit使用\1正则替换

gedit 是 GNOME 桌面的小型和轻量文本编辑器。
requirement: 将 id, createTime 替换为 #{id}, #{createTime}
solution:
正则查找表达式:([a-z]{2,})
正则替换表达式: #{\1}
含义:代表替换圆括号中的内容[a-z]{2,},在 [a-z]{2,} 外面添加上 #{}
扩展:其他的文本编辑器也有相同的替换功能,这也是正则表达式的标准语法,如notepad++,不过一般不是使用 \1 ,而是用 $1

20 ubuntu的dpkg命令安装和卸载软件

实际使用中,可以先到网上下载deb文件,然后用dpkg命令来安装。

sudo dpkg -l | grep 360  # 查看包含360的软件
sudo dpkg -i browser360-cn-stable_10.0.2013.0-1_amd64.deb  # 安装软件
sudo dpkg -r browser360-cn-stable  # 卸载软件
sudo dpkg -P browser360-cn-stable  # 删除软件的配置信息

21 永久修改主机名:

sudo vim /etc/hostname
然后直接修改hostname文档中的主机名即可。
重启后生效,或者直接执行命令: hostname 主机名。

注:如无特别说明,该文章中都指的是ubuntu desktop版本

22 安装putty:

sudo apt-fast install putty
启动:
仪表盘中有putty的快捷方式,也可以直接在终端中输入命令: putty
使用方法:
和windows中几乎一样。

23 去掉Dashboard中残留的wine版本的酷狗音乐图标:

发现Dashboard中还残留wine版本的酷狗音乐的图标,于是想要去掉该图标。
方法:进入以下2个文件夹:
/usr/share/applications/
~/.local/share/applications/wine/Programs/
删除有关酷狗音乐的残留图标快捷方式。

24 设置开机启动脚本:

(其有个缺点,必须登录后才会自动执行,网上还有另一种设置方法,以后有需要再尝试)
vim ~/.profile
在末尾添加以下内容:

#开机启动halo,并将屏幕消息打印到指定的路径下的nohup.out中
nohup java -jar ~/.halo/halo-1.1.1.jar > ~/.halo/nohup.out &

25 设置定时备份文件:

需求:定期备份halo:数据库全量备份,附件增量备份。
然后定期拷贝到移动硬盘中。
(1)准备shell脚本:
vim /home/witt/Bak/haloBak.sh:

#!/bin/bash

# local backup
cp /root/.halo/db/halo.mv.db /root/bak/.halo/db/halo.mv.db$(date +%Y%m%d)
# cp /var/lib/docker/volumes/210cf6657367af3b4db3e5f2a41bd0e2533bb4a9becabaf1be9d815886867ca5/_data/db/halo.mv.db /root/bak/.halo/db/halo.mv.db$(date +%Y%m%d)

cp -rn /root/.halo/upload/ /root/bak/.halo/
# cp -rn /var/lib/docker/volumes/210cf6657367af3b4db3e5f2a41bd0e2533bb4a9becabaf1be9d815886867ca5/_data/upload/ /root/bak/.halo/

# remote backup
scp /root/.halo/db/halo.mv.db asus:/home/witt/bak/.halo/db/halo.mv.db$(date +%Y%m%d)
# scp /var/lib/docker/volumes/210cf6657367af3b4db3e5f2a41bd0e2533bb4a9becabaf1be9d815886867ca5/_data/db/halo.mv.db asus:/home/witt/bak/.halo/db/halo.mv.db$(date +%Y%m%d)

rsync -aqvzu /root/.halo/upload/ asus:/home/witt/bak/.halo/upload/
# rsync -aqvzu /var/lib/docker/volumes/210cf6657367af3b4db3e5f2a41bd0e2533bb4a9becabaf1be9d815886867ca5/_data/upload/ asus:/home/witt/bak/.halo/upload/

# echo halo的 数据库和附件 的 本地备份和异地备份 都已完成$(date +%Y%m%d) >> /root/bak/.halo/haloBakSuccess
echo $(date +%Y%m%d):halo的 数据库和附件 的 本地备份和异地备份 都已完成! >> /root/bak/.halo/haloBakSuccess

(2)设置crontab:
设置每周一的下午15:00执行脚本:

crontab -e
0 15 * * 1 /home/witt/Bak/haloBak.sh

(3)使添加的自动执行配置生效:

sudo /etc/init.d/cron restart

注:(1)一般来说,cron任务设置后就会执行,不用重启系统或重启cron服务;
(2)只要cron服务是开机自动启动的,不管设置cron任务的用户是否登录,都能定时执行cron任务。

26 systemctl命令:

用来代替以前的service命令。

systemctl 
  status mysql.service 
  start NAME...                   Start (activate) one or more units
  stop NAME...                    Stop (deactivate) one or more units
  reload NAME...                  Reload one or more units
  restart NAME...                 Start or restart one or more units
  try-restart NAME...             Restart one or more units if active
  reload-or-restart NAME...       Reload one or more units if possible,

27 重置为默认的gnome桌面环境:

dconf reset -f /org/gnome/

28 查看是否安装了xrdp(或其他软件):

dpkg -L xrdp

29 ubuntu18.04 fcitx未启动的问题:

去dashboard中找到fcitx,点击打开,稍等几秒,会看到已经启动了,但是搜狗拼音输入法使用不正常,只能输入英文。再次进入dashboard,找到“fcitx 配置”,点击打开,先删除搜狗拼音,再重新添加它,即可:

30 切换同一个应用程序的多个窗口(比如在多个终端间切换):

alt + `

31 查看当前文件夹的总大小:

查看当前文件夹的总大小: du -sh .
查看当前文件夹下每个文件/文件夹的总大小: du -sh *
【把*替换为具体的文件名,会给出具体文件的大小】

32 终端terminal中,回退到上一个目录:

cd $OLDPWD

33 linux下部分目录的作用

首先注意usr指Unix System Resource,而不是User
然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为:
echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin
这里/usr/local/bin优先于/usr/bin,

扩展:linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别:
/bin
This directory contains executable programs which are needed in single user mode and to bring the sys‐ tem up or repair it.

/sbin
Like /bin, this directory holds commands needed to boot the system, but which are usually not executed by normal users.

/usr/bin
This is the primary directory for executable programs. Most programs executed by normal users which are not needed for booting or for repairing the system and which are not installed locally should be placed in this directory.

/usr/sbin
This directory contains program binaries for system administration which are not essential for the boot process, for mounting /usr, or for system repair.

/usr/local/bin
Binaries for programs local to the site.

/usr/local/sbin
Locally installed programs for system administration.
参考链接:https://www.cnblogs.com/wangziyi0513/p/10268888.html

34 建立软链接注意事项

ln 参数 源文件 目标链接文件
-s:代表新建一个软链接,又称符号链接;
eg. ln -s /mnt/d/Documents/source.xlsx target.xlsx

  1. 目标文件的后缀名一定要源文件的相同,否则双击打开目标链接文件时,会报错:

  2. 建立软链接时,最好使用绝对路径。
    一开始我是这么建立的: ~/Documents$ ln -s todoUbuntu.txt ../Desktop/todoLink
    发现桌面上确实生成了一个软链接,但是打开发现无法链接到目标文件。
    于是尝试使用绝对路径链接: ~/Documents$ ln -s ~/Documents/todoUbuntu.txt ~/Desktop/todoLink
    成功。

35 查看版本

# 方法1
witt@asus:~$ uname -a
Linux asus 5.3.0-26-generic #28~18.04.1-Ubuntu SMP Wed Dec 18 16:40:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

witt@asus:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic

# 方法2
lsb_release -a
# 方法3
cat /etc/issue
# 方法4(区分桌面版还是服务器版)
dpkg -l ubuntu-server
dpkg -l ubuntu-desktop

36 ubuntu下安装vim报错

报错内容如下:

root@node7:/# apt-get install vim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package vim

执行apt-get update,然后即可安装。

37 Ubuntu Desktop 18.04设置静态IP

  1. 首先,该方法不适用于Ubuntu Sever 18.04。
  2. 确认要修改的网卡编号(考虑有多张网卡的情况)
    执行:ip addrifconfig(我要修改的网卡编号是enp2s0):
root@asus:~# ip addr
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:5c:8e:35:db:67 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.6/24 brd 192.168.6.255 scope global enp2s0
       valid_lft forever preferred_lft forever
    inet6 fe80::9e5c:8eff:fe35:db67/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 80:a5:89:31:3f:27 brd ff:ff:ff:ff:ff:ff
  1. 设置静态IP,子网掩码和网关。
root@asus:~# sudo vim /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp2s0 # 从这一行开始是我新增加的内容
iface enp2s0 inet static
address 192.168.6.6
netmask 255.255.255.0
gateway 192.168.6.1
  1. 设置DNS,否则无法访问因特网(为什么DNS不和IP放到一个文件中设置呢,要设置2次,太麻烦了!)。
    [Resolve]下面,将#DNS改为DNS=221.228.255.1 8.8.8.8
root@asus:~# sudo vim /etc/systemd/resolved.conf

[Resolve]
DNS=221.228.255.1 8.8.8.8
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
  1. 重启电脑。

38 永久关闭蜂鸣器提示音(滴滴声,哔哔声)方法

执行:echo "rmmod pcspkr" >> /etc/rc.d/rc.local
授权:chmod +x /etc/rc.d/rc.local
但是有的电脑上会提示:rmmod: ERROR: Module pcspkr is not currently loaded
可以用该方法:vim /etc/inputrc
找到 #set bell-style none,将前面的#去掉,保存。但是在用vim时,还是会有哔哔声。
这2种方法最后都要重启:reboot

39 启用/禁用触控板Touchpad

首先,执行命令查看TouchPad的id: xinput
结果为:ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]

  1. 编写启用/禁用脚本
cd /usr/local/bin/
vim touchpad
# 1) 在该脚本中添加如下语句 :
#!/bin/bash
# 查询触控板的id,因为该id可能会变化,所以每次都要动态获取
id=$(xinput | grep Touchpad | awk '{print $6}') 
case "$1" in
        on)
                xinput --enable ${id#*=}
                ;;
        off)
                xinput --disable ${id#*=}
                ;;
        *)
                echo "Usage: touchpad {on|off}"
                ;;
esac

# 2) 赋予权限
chmod +x touchpad

# 3) 然后可以在任意路径下执行命令`touchpad on`启用Touchpad,或执行`touchpad off`禁用Touchpad
  1. 开机自动禁用(是我的实际需求)
sudo vim /etc/profile
# 在末尾添加如下语句
touchpad off

40 apt命令

  1. apt edit-sources #编辑apt的源列表( 或者直接写这个命令:vim /etc/apt/sources.list )
  2. apt list #列出包含条件的包(已安装,可升级等)
  3. 还有apt-get, apt-fast

41 硬盘坏道的检测与修复(GUI、CUI)2种方法

  1. GUI:Ubuntu自带的磁盘实用工具是个很直观的查看硬盘健康状况的工具。

  2. CUI: badblocks命令
    检查前确定你已经卸载要检查的磁盘,如果没有,请umount之。
    对整个磁盘进行read-only检测:sudo badblocks -s -v -c 32 /dev/sdb
    因为需要对磁盘进行检测,所以速度非常缓慢,在检测过程中注意不要断电,不要对硬盘进行任何操作,不要移除硬盘,不要物理损伤,不要震动等。
    检测过程是可以中途终止,也可以指定区块重新开始。sudo badblock -s -v -c 32 /dev/sd* 976762583 125637824(注意此处结束区块在前,起始区块在后)

badblocks 用法详细说明:
语法:
  badblocks [-svw][-b < 区块大小>][-o < 输出文件>][磁盘装置][磁盘区块数][启始区块]
参数:
  -b< 区块大小> 指定磁盘的区块大小,单位为字节。
  -o< 输出文件> 将检查的结果写入指定的输出文件。
  -c< 检查区块数目> 每一次检测区块的数目。默认值是16。增加这个数目可以增加检测 块的效率可同时也会增加内存的耗费。
  -s 在检查时显示进度。
  -v 执行时显示详细的信息。
  -w 在检查时,执行写入测试。
  [磁盘装置] 指定要检查的磁盘装置。
  [磁盘区块数] 指定磁盘装置的区块总数。
  [启始区块] 指定要从哪个区块开始检查。

修复坏道:
如果只是逻辑坏道,你可以直接fsck -a /dev/sdb 或者格式化。如果是物理坏道,那么兄弟你真的悲剧了。你需要:
a.备份硬盘数据
b.删除所有硬盘分区
c.根据坏块位置以及大小,估算出所占空间。然后重新分区隔离损坏部分。btw:坏道是会扩散的,所以尽可能隔离掉多些空间。

参考链接:http://www.360doc.com/content/15/0609/17/11764545_476842330.shtml

42 xfce和xubuntu桌面环境的安装和卸载

  1. 安装:
    sudo apt-fast install xfce4
    sudo apt-fast install xubuntu-desktop

  2. 卸载:
    卸载xfce4:sudo apt-get remove xfce4
    卸载xfce4相关软件:sudo apt-get remove xfce4*
    卸载xubuntu-desktop:sudo apt-get remove xubuntu*

这2个桌面环境卸载完后,都还要执行如下步骤:
自动卸载不必要的软件:sudo apt-get autoremove
系统清理:sudo apt-get clean
注意:xubutnu部分附带的应用也会删除,就是xfce或xubuntu下部分常用的软件也会被卸载!
reference: https://www.jianshu.com/p/d8f309491162

43 其他主机通过xrdp远程到ubuntu18.04.3

网上说,目标ubuntu系统上必须安装xfce和xubuntu-desktop桌面环境,才能使用xrdp远程到该目标ubuntu。但是我测试了下,使用ubuntu18.04.3自带的gnome桌面环境,也能成功。以下为设置方法,包括我自己亲自测试后,对原文的修改:
(注:为啥我不想使用xfce和xubuntu-desktop桌面环境,因为一方面占用了本就紧凑的系统资源;另一方面又要重新熟悉一个新的桌面环境,桌面布局、图标、附带的应用都不一样;总是有各种各样的bug,虽然gnome也有bug,不过毕竟都一个个解决过来了,现在用的比较满意的)

1、更新系统源:sudo apt-fast update

2、安装 xrdp、tightvncserver:
sudo apt-fast install tightvncserver xrdp
(亲测 tightvncserver不需要装)

3、安装xubuntu-desktop:sudo apt-get install xubuntu-desktop(这一步不需要)

4、安装完后,执行指令:echo xfce4-session >~/.xsession ,将xfce4-session写入到文件.xsession中。 (我执行的指令是:echo gnome-session >~/.xsession)

5、修改 /etc/xrdp/startwm.sh 文件:
sudo vim /etc/xrdp/startwm.sh
在. /etc/X11/Xsession 上边添加 xfce4-session。
(我实际上做的事情是:在test -x /etc/X11/Xsession && exec /etc/X11/Xsession 这一行的上方,添加 gnome-session )

6、修改配置文件 /etc/X11/Xsession:
在文件最上面添加 xfce4-session
(我添加的是 gnome-session )

7、重新启动xrdp服务:sudo service xrdp restart
然后我们就可以使用Windows的mstsc登录了,界面如下:

8、有一点需要注意的是,这里默认是需要root用户才可以登录的,如果要普通用户也能登录,只要修改 .ICEauthority 文件的权限后重启就可以了,这个文件就在用户目录 ~/ 下。 (实际上我没走这一步,也能用普通用户远程到桌面)

9、有的网友还说,需要如下配置:
sudo adduser xrdp ssl-cert
然后重启电脑。(我也走了这一步,不知道是否有必要)

注意:我的系统上,本地和远程无法同时登录,只有一方注销了另一方才能登录,否则登录就闪退。
reference: https://blog.csdn.net/qq_25556149/article/details/82216190

44 ubuntu建立软链接注意事项

ln 参数 源文件 目标链接文件
-s:代表新建一个软链接,又称符号链接;
eg. ln -s /mnt/d/Documents/source.xlsx target.xlsx

  1. 目标文件的后缀名一定要源文件的相同,否则双击打开目标链接文件时,会报错:

  2. 建立软链接时,最好需要使用绝对路径。
    一开始我是这么建立的: ~/Documents$ ln -s todoUbuntu.txt ../Desktop/todoLink
    发现桌面上确实生成了一个软链接,但是打开发现无法链接到目标文件。
    于是尝试使用绝对路径链接: ~/Documents$ ln -s ~/Documents/todoUbuntu.txt ~/Desktop/todoLink
    成功。

45 ubuntu16.04/ubuntu18.04安装网易云音乐

  1. 下载1.0版本
    下载地址:http://s1.music.126.net/download/pc/netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb
    下载好后放到家目录

  2. 在家目录然后依次执行命令

mkdir -p extract/DEBIAN
dpkg-deb -x netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb extract/
dpkg-deb -e netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb extract/DEBIAN
  1. 修改文件
    打开extract/DEBIAN/control文件,找到Depends行,删除libqt5libqgtk2,删除libfontconfig1 (>= 2.11.94)中的(>= 2.11.94).注释:实践中删除第一个libqt5libqgtk2就可以运行了

  2. 在家目录执行命令

mkdir build
dpkg-deb -b extract/ build/
cd build
sudo dpkg -i netease-cloud-music_1.0.0_amd64_ubuntu.deb
reference: https://www.jianshu.com/p/bd7a9121b936

46 ubuntu的apt

  1. apt edit-sources # 编辑apt的源列表( 或者直接写这个命令:vim /etc/apt/sources.list )
  2. apt list # 列出包含条件的包(已安装,可升级等)
  3. 还有apt-get, apt-fast

47 各种软件的安装和卸载命令

sudo dpkg -i virtualbox-6.1_6.1.26-145957_Ubuntu_bionic_amd64.deb
sudo dpkg -r virtualbox-6.1

sudo ./VMware-Player-Full-16.2.0-18760230.x86_64.bundle
sudo vmware-uninstaller vmware-player

48 ubuntu死机时如何优雅的重启

可以长按电源键,强制关机,但对电脑硬件有损伤。
更加优雅的方法是:按住alt和SysRq键(如果没有该键,则使用 PrtScr 键)的同时,再输入reisub,输入完b之后,系统自动重启。

# 指令说明
按住Alt和SysRq键(如果没有该键,则使用 PrtScr 键)时,输入的一切都会直接交给Linux内核来处理。
reisub中的每一个字母都是一个独立操作,他们分别表示:
Alt+SysRq+r 把键盘从X手中夺过来
Alt+SysRq+e 终结所有进程
Alt+SysRq+i 强制关闭所有进程
Alt+SysRq+s 同步所有挂载的文件系统
Alt+SysRq+u 重新挂载所有的文件系统为只读
Alt+SysRq+b 重启

reference: https://blog.csdn.net/r1141207831/article/details/106079925/

49 百度输入法 for ubuntu非常好用

自从使用Ubuntu以来,一直使用的是搜狗输入法,因为在windows系统上搜狗是非常好用的,但是在Ubuntu上,总是小问题不断,虽然也能用,但比较烦心。比如在IDEA 中,经常会无法输入中文。最近升级了搜狗,发现在Ubuntu18.04上,完全无法输入中文了。于是网上找了下,使用了百度输入法,真的很好用,使用习惯和快捷键和搜狗输入法非常相似,但目前没有发现啥问题。

官网下载链接:https://imeres.baidu.com/imeres/ime-res/guanwang/img/Ubuntu_Deepin-fcitx-baidupinyin-64.zip
这个压缩包中有教程,只要按照教程步骤,就能安装好,期间可能要重启系统。

先试用一段时间看看有没有问题。过段时间再来更新使用心得。

50 修改时区

Ubuntu 安装完毕后,默认是世界标准时间,UTC时间,时区为0,比中国的东八区时间晚8小时,所以需要调整过来。
有2种方法:

  1. 用 timedatectl
    timedatectl set-timezone Asia/Shanghai  
    # 我在docker容器上执行该命令报错,报错内容如下:
    System has not been booted with systemd as init system (PID 1). Can't operate.
    Failed to create bus connection: Host is down
    
  2. 直接拷贝时区文件到相应路径下
# 1 检查 /etc/localtime 文件是否存在,如果存在则先备份,(我的docker容器上,该文件存在,并且是一个软链接)
mv /etc/localtime /etc/localtime.bak
# 2 拷贝时区文件 Shanghai 到 /etc/ 路径下,并重命名为 localtime
mv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 3 不用重启,立刻生效,执行date命令验证
[root@c96ae75178b9 /]# date
Fri Jul  8 10:34:11 CST 2022

51

posted @ 2021-08-16 00:23  mediocrep  阅读(185)  评论(0编辑  收藏  举报
既然选择了远方,便只顾风雨兼程!