Skip to content

Ubuntu常用操作

1 切换默认 Shell

问题: Qt 调用脚本报错,找不到 source 和 python。QProcess::execute("sh gpu_ivus.sh");

原因: 默认 shell 是 dash,不支持某些命令。

解决方法:

ls -l /bin/sh
sudo dpkg-reconfigure dash  #选择否
ls -l /bin/sh

2 增加swap交换空间

问题: 内存不足时增加交换空间。

# 1 检查当前 Swap 空间
sudo swapon --show # 如果没有输出,表示装系统时候没有分swap。
free -h -t -s 1  # 查看内存使用情况 -h humanble,易读的 -t 显示合计信息 -s 刷新间隔

# 2 查询硬盘可用空间
df -h # 查看硬盘空间

# 3 创建 Swap 文件
mkdir swapfile
cd swapfile/
sudo dd if=/dev/zero of=swap bs=1M count=32000  # 创建 32GB Swap 文件
sudo mkswap swap  # 设置 Swap 文件

# 4 激活 Swap 文件

sudo swapon swap
# swapon 用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。
# swapoff 用于关闭系统交换区(swap area)。

# 5 永久启用 Swap 文件(可选)

sudo vim /etc/fstab
# 在文件最后加上:
# /path/to/swapfile/swap swap swap defaults 0 0

3 使用 SCP 进行文件传输

使用 SCP 命令在本地与远程主机之间传输文件

#上传本地目录到远程机器指定目录
scp -P 95 localfile user@remote_ip:/remote/path
#从远处复制文件到本地目录
scp -P 95 user@remote_ip:/remote/file /local/path

4 SSH 链接

# 安装 SSH
sudo apt install openssh-client
sudo apt install openssh-server

# 启动/停止/重启 SSH 服务
sudo /etc/init.d/ssh start
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh restart

# SSH 连接远程主机
ssh user@remote_ip

# 使用图形界面程序
ssh -X user@remote_ip

5 VirtualBox 启动错误解决

错误: Kernel driver not installed (rc=-1908)

解决方法: 在 BIOS 中关闭安全启动(Secure Boot)

6 使用 rdesktop 远程连接 Windows

使用rdesktop

# 安装 rdesktop
sudo apt-get install rdesktop

# 远程登录
rdesktop -a 16 -u Administrator -p 'password' remote_ip
# 注意密码中有特殊字符需用引号括起

7 截图设置

# 使用自带的 Screenshot 工具
gnome-screenshot -h # 查看帮助信息 
gnome-screenshot -ac # 截图并复制到剪贴板

8 AppImage 压缩与解压

参考 https://github.com/AppImage/AppImageKit

# 解压 AppImage
./YourAppImage --appimage-extract

# 压缩成 AppImage
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool-x86_64.AppImage
./appimagetool-x86_64.AppImage extracted_folder

9 命令行后台运行程序

使用 nohupnohup 是一个用于在命令行中后台运行程序并使其在退出终端后仍保持运行的命令。

nohup command & exit

10 调整缓存压力设置

调整 swappiness 参数。Swappiness 是 Linux 内核中的一个参数,用于控制系统在使用物理内存和交换空间(swap space)时的平衡。它决定了内存管理器在多大程度上使用 swap 来替代物理内存。

# 查询当前 swappiness
cat /proc/sys/vm/swappiness

# 临时调整
sudo sysctl vm.swappiness=60

# 永久调整
sudo vim /etc/sysctl.conf
# 添加 vm.swappiness=60
sudo sysctl -p  # 使设置生效