Linux Mint学习笔记
- 1: Linux Mint的安装
- 1.1: Linux Mint的安装过程
- 1.2: Linux Mint安装中的硬件配置
- 1.2.1: AMD显卡驱动安装
- 1.2.2: Nvidia显卡驱动安装
- 1.2.3: Linux Mint下挂载Windows盘符
- 1.2.4: 安装Epson L4160打印机
- 1.2.5: [归档]启动时进行fsck硬盘检查
- 1.2.6: [归档]Intel显卡驱动安装
- 1.3: Linux Mint安装时的系统设置
- 1.3.1: 安装配置zsh作为默认shell
- 1.3.2: 取消PPA仓库
- 1.3.3: 修改Linux Mint的快捷键
- 1.3.4: 修改后的Linux Mint的常用快捷键
- 1.3.5: 修改字体设置
- 1.4: 安装网络服务软件
- 1.4.1: 安装配置SSH服务器端
- 1.4.2: 安装配置远程桌面连接服务
- 1.5: 修改主题美化界面
- 1.5.1: WhiteSur主题
- 2: Linux Mint的硬件与监控
- 2.1: Conky
- 2.2: Hardinfo
- 2.3: System Monitor
- 2.4: 关闭屏幕
- 2.5: [归档]Cpufreqd
- 2.6: [归档]Psensor
- 3: 日常使用的软件的安装和配置
- 3.1: 文档阅读和编辑器软件
- 3.2: 日常使用的工具类软件
- 3.2.1: 输入法
- 3.2.2: 应用程序启动器Synapse
- 3.2.3: [归档]安装搜狗输入法
- 3.2.4: 创建Ramdisk
- 3.2.5: 截图软件Shutter
- 3.2.6: GIMP
- 3.2.7: 壁纸管理软件variety
- 3.2.8: [归档]软件安装工具snap
- 3.3: 网络通讯类软件
- 3.3.1: discord
- 3.3.2: 网络会议软件
- 3.3.2.1: 腾讯会议
- 3.3.3: 远程桌面软件Remmina
- 3.3.4: Clash上网软件
- 3.3.5: 使用终端做ssh client
- 3.3.6: 安装微软Edge浏览器
- 3.3.7: Teams
- 3.3.8: 挂载 windows 共享目录
- 3.3.9: [归档]SSH代理服务器
- 3.4: 日常使用的多媒体软件
- 3.5: 虚拟机类软件
- 3.5.1: 安装配置VMWare Player
- 4: 编程开发相关软件的安装和配置
1 - Linux Mint的安装
1.1 - Linux Mint的安装过程
Linux Mint 的安装比较简单,安装速度也非常快。
但是期间还是有一些事情要小心。
安装前准备
从 Linux Mint 的下载页面下载 Linux Mint 21.2 的 Cinnamon 的64位版本。
https://linuxmint.com/download.php
https://www.linuxmint.com/download_all.php
之后使用各种工具将下载下来的 ISO 文件制作成启动 U 盘进行安装,推荐 rufus。
安装
安装时,在选择安装盘符时需要注意:
- 最好单独再建立一个 EFI 分区,不要使用原有 windows 的EFI分区,大小一般128M足以
- 由于docker的原因,建议不建立交换分区
- 特别注意:启动信息那里一定要选择我们为linux新建的 EFI 分区
安装过程中,如果提醒是否要下载更新,选择 no。原因是安装时使用的源是 Linux Mint 默认的源,对于国内用户速度很慢。建议选择在安装完成之后,再设置好国内速度快的源,然后再更新,速度就非常好。
语言选择
推荐在安装过程中就选择好 简体中文,不要安装完之后再设置。虽然没有证据,但是总觉得这样对中文的支持要好一些,避免麻烦。
自动登录
安装过程在设置用户名密码时,有个是否自动登录的选项,如果是自己机器平时也不需要考虑安全性,选上,可以省事加开机更快。
安装完操作
设置软件源
安装完成,进入桌面之后的第一件事情,就是设置软件源。
“开始菜单” -> “系统管理” -> “软件源”,然后就可以设置镜像,包括主要和基础两个:
选择时会自动提供速度测试,可以根据测试出来的速度情况选择一个速度比较好的源,我这边选择的是 ustc 和 dgut 。
Warning
注意一定要先更新软件源之后,再开始各种配置和安装,否则国外源时速度不好时非常浪费时间。更新系统和内核
在设置好软件源之后,再使用操作系统自带的 “更新管理器” 进行系统更新,包括内核更新。
我个人习惯是直接更新到最新版本的内核。
额外提示
Alt+F7
是移动窗口的快捷键,在某些特殊情况下,如果屏幕分辨率因故被设置的太低,会出现窗口太长而无法在屏幕上显示完整,导致某些关键的输入和按钮在屏幕外点不到。
此时就需要使用 Alt+F7
快捷键来移动窗口,不然被卡死会非常憋屈。
1.2 - Linux Mint安装中的硬件配置
1.2.1 - AMD显卡驱动安装
最新显卡
以 amd rx6800xt为例,AMD 的 linux 驱动非常更新及时,可以很好的支持最新的显卡。
在amd官方的支持页面
https://www.amd.com/en/support
选择 “Graphics” –> “AMD Redeon 6000 Series” 一路选择型号,然后点击"提交"。在结果中选择 “Ubuntu x86 64-Bit”:
Radeon™ Software for Linux® installer version 21.40.1 for Ubuntu 20.04.3
和以前的二进制安装文件不同,新版本的下载页面现在下载的只是一个驱动安装软件(installer),而不是驱动本身。
sudo apt install linux-image-5.4.0-94-generic linux-headers-5.4.0-94-generic linux-modules-extra-5.4.0-94-generic
下载得到 amdgpu-install_21.40.1.40501-1_all.deb
,安装方式:
sudo apt-get install ./amdgpu-install_21.40.1.40501-1_all.deb
之后,执行
sudo amdgpu-install --opencl=rocr --vulkan=amdvlk -y --accept-eula
开始安装,下载速度超级慢。
参考:https://amdgpu-install.readthedocs.io/en/latest/install-script.html#script-types
老显卡
以 amd r5 240 1G 为例,这样的十年前的老显卡已经找到不到最新 ubuntu release 的驱动了。比如这个卡的最新版本也只是2015年的,只支持到 ubuntu 15.12。
不过,linux mint 自带了这些老显卡的驱动,虽不清楚这些驱动的版本和能力,但考虑到本来就是作为良机卡,足够了。
注意:千万不要用上面的最新显卡驱动进行安装!
问题:安装过程会顺利完成,重启之后不仅仅新驱动无法启用,连原来自带的驱动也无法使用。
解决方式:通过上面的安装包,执行 sudo ./amdgpu-uninstall
卸载最新驱动,重启之后恢复自带驱动。
1.2.2 - Nvidia显卡驱动安装
正常安装
“开始菜单” -> “系统管理” -> “驱动管理器”,
Linux Mint 会先做一次系统更新检查,然后给出可以安装的驱动列表。
只要简单选择需要的驱动版本,然后安装即可,如下图:
特殊情况
无法打开系统设置界面
有时会遇到无法打开系统设置界面的情况,导致无法进入设备管理器。
此时,可以在桌面右键,打开终端,然后执行 /usr/bin/cinnamon-settings
命令,即可打开设置界面。
无法进入图形界面
某一次更换显卡时,从adm rx580显卡换到nvidia 3070显卡,遇到无法显示图形界面的情况,黑色屏幕上只有左上角有一个光标一闪一闪。而且网络也莫名其妙的不通,无法ssh。
补充: 遇到第二次类似情况,cpu是 intel 13900hk 自带intel 集成显卡,安装 linux mint 后正常使用。后面接上 nvidia 的 4080 显卡之后,就出现同样问题。
解决方法:
-
解决无法ssh的问题:按
ctr+alt+F
可以显示出 terminal 界面,输入用户名/密码就可以登录。期间如果再次黑屏,可以继续 按ctr+alt+F
。登录之后,网络也就通了。 -
安装 nvidia 显卡驱动
sudo apt update sudo apt-cache search nvidia-driver sudo apt install nvidia-driver-545 # 这里选择合适的驱动版本,比如
安装完成之后重启即可,正常显示图形界面。
参考资料:
1.2.3 - Linux Mint下挂载Windows盘符
安装linux、windows双操作系统时,可以在linux下直接挂载windows的盘符,这样可以访问windows下的文件系统,非常方便。
新版本的ubuntu16.04、Linux mint 18都已经内置了ntfs的支持,只需要简单挂载就好。最方便的方式是在开机时自动挂载。
只读挂载
如果只是要求读取文件,不要求写入,则非常简单。开机自动执行 udisksctl 命令即可解决问题。
设置开机自动挂载
在开机自启动程序中,增加一个开机启动项,命令为:
udisksctl mount -p block_devices/nvme0n1p4
解决无法装载的问题
如果windows在关机时进行了休眠,则无法装载,报错如下:
Error mounting /dev/nvme0n1p4 at /media/sky/win10: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000" "/dev/nvme0n1p4" "/media/sky/win10"' exited with non-zero exit status 14: Windows is hibernated, refused to mount.
Failed to mount '/dev/nvme0n1p4': 不允许的操作
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.
解决这个问题的最好方式是消除休眠状态。一般重新启动到windows下,然后再次重启进linux,就OK。
前提是已经关闭了windows的快速启动功能,不然还会继续报同样错误。关闭快速启动的办法是进入windows,在控制面板 -> 电源管理中,选择关闭盖子的功能,点击"不能更改的选项",去掉快速启动的勾选。
但偶尔还是会遇到即使上面的事情都做好了,依然还是继续报错说"Windows is hibernated"。
此时需要想办法删除windows盘符上的休眠文件hiberfil.sys
,具体作法是在linux中执行命令:
sudo mkdir /media/sky/win10
sudo ntfs-3g -o remove_hiberfile /dev/nvme0n1p4 /media/sky/win10
最恶劣的情况是,windows在即使关闭快速启动功能的情况下也还是会继续生成休眠文件,非常不可理喻。解决的方式是彻底关闭windows的休眠功能。以管理员权限启动命令行,执行命令:
powercfg /h off
参考资料
- How to Do a Full Shutdown in Windows 8 Without Disabling Hybrid Boot
- How to mount Windows (NTFS) filesystem due to hibernation: 这篇讲的很详细
读写挂载
如果要求有写入权限,则推荐直接修改 /etc/fstab
文件。
sudo vi /etc/fstab
加入以下内容:
/dev/nvme0n1p6 /media/d ntfs-3g user,auto,rw,dev,exec,suid,async,utf8,dmask=000,fmask=111 0 0
其中 /dev/nvme0n1p6
是要挂载的 windows ntfs 盘符。可以通过
sudo fdisk -l
查看 device 名称:
Disk /dev/nvme0n1: 3.49 TiB, 3840755982336 bytes, 7501476528 sectors
Disk model: KCD61LUL3T84
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FBEFBE02-9843-4FEC-8B2C-C50B5EAD8069
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
/dev/nvme0n1p3 239616 1047643943 1047404328 499.4G Microsoft basic data
/dev/nvme0n1p4 1047644160 1048813567 1169408 571M Windows recovery environment
/dev/nvme0n1p5 1048815616 2097391615 1048576000 500G Microsoft basic data
/dev/nvme0n1p6 2097391616 7340271615 5242880000 2.4T Microsoft basic data
/dev/nvme0n1p7 7340271616 7501475839 161204224 76.9G Microsoft basic data
或者用 uuid 来指定要挂载的盘符,执行
sudo lsblk -f
来查看各个盘符的 uuid:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 vfat FAT32 900E-C1BF 64.9M 32% /boot/efi
├─nvme0n1p2
├─nvme0n1p3 ntfs DA58F6BA58F6948B
├─nvme0n1p4 ntfs 9AAA6103AA60DD6F
├─nvme0n1p5 ext4 1.0 9f09256f-e5b1-4aa2-894f-bb77605d58dc 358.5G 22% /
├─nvme0n1p6 ntfs data 2E3236E83236B4A5 1.5T 37% /media/d
└─nvme0n1p7 ext4 1.0 00b99ea7-c250-40af-b07e-3b2378c830cf 11.8G 79% /timeshift
然后类似的修改 /etc/fstab
文件:
UUID=2E3236E83236B4A5 /media/d ntfs-3g user,auto,rw,dev,exec,suid,async,utf8,dmask=000,fmask=111 0 0
如果遇到依然没有权限写入,则有可能是该 windows ntfs 盘符有问题,可以先进入 windows,用磁盘工具检查一遍这个盘符。之后重启进入 linux 应该就可以写入了。
1.2.4 - 安装Epson L4160打印机
打印机驱动
本地usb连接
本地安装,用usb线连接Epson L4160打印机。
先下载linux驱动:
-
drivers ,输入产品型号 L4160
-
下载 ESC / P-R Driver (generic driver) / Epson Printer Utility / All-in-one package,注意选择x64版本的deb
-
安装下载好的deb
再在系统中选择打印机,然后添加打印机,此时会自动识别出 EPSON-L4160-Series,添加即可。
wifi连接
断开usb,删除本地打印机。
在打印机上设置好wifi之后,再打开设置中的打印机,发现已经自动识别了,貌似不需要设置。
1.2.5 - [归档]启动时进行fsck硬盘检查
归档说明:最近几年再没遇到硬盘坏的情况
如果遇到硬盘故障,linux mint 会在发生错误时,将系统所在盘符 mount 为 ro 只读,导致重启时无法进入操作系统。
这样开机只能进入内存虚拟的一个命令行界面,此时可以使用 fsck 命令扫描磁盘分区并尝试修复磁盘错误。
执行命令:
fsck -a /dev/sda*
如果无法自动修复问题,会要求手工修复,需要执行:
fsck /dev/sda*
然后一路确认即可。
1.2.6 - [归档]Intel显卡驱动安装
归档说明:最近没有用Intel集成显卡
备注:这是Linux Mint 18下的内容,Linux Mint 19尚未更新,按说19的内核版本已经是4.15了,应该不会有这些问题。
虽说 linux mint 默认自带了 intel 集成显卡驱动,不过从实际使用情况看,这个驱动在节能方面表现应该不好。对比 windows 系统,在发热和续航时间上差距明显。
一般的intel集成显卡,可以采用常规方式,使用intel graphics update tool进行驱动安装。对于新一点的硬件,比如7代和8代cpu集成的hd 630等intel显卡的安装则更复杂一些。
备注: 验证过8代cpu i7 8700带的HD 630显卡(代号i915)必须通过第二种方式安装,intel graphics update tool完全无效。
常规方式:使用intel graphics update tool
官方会指向下面的开源社区网站,支持 ubuntu 16.04 的最新驱动是 v2.0.2 :
https://01.org/zh/linuxgraphics/downloads/intel-graphics-update-tool-linux-os-v2.0.2
下载64位版本 intel-graphics-update-tool_2.0.2_amd64.deb
。
注:这个网站最近报错无法访问。
或者从这里下载:
https://download.01.org/gfx/ubuntu/16.04/main/pool/main/i/intel-graphics-update-tool/
安装intel graphics update tool
linux mint 在安装 intel 更新工具时,需要修改发行版本的信息,否者会无法安装。参考下文:
修改修改 /etc/lsb-release
文件,将 linuxmint 信息修改回 ubuntu:
#DISTRIB_ID=LinuxMint
#DISTRIB_RELEASE=18
#DISTRIB_CODENAME=sarah
#DISTRIB_DESCRIPTION="Linux Mint 18 Sarah"
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
保存后退出。然后更新。
sudo apt-get update
然后继续安装。安装完成之后再将 /etc/lsb-release
文件恢复:
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=18
DISTRIB_CODENAME=sarah
DISTRIB_DESCRIPTION="Linux Mint 18 Sarah"
#DISTRIB_ID=Ubuntu
#DISTRIB_RELEASE=16.04
#DISTRIB_CODENAME=xenial
#DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
更新系统
wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | sudo apt-key add -
sudo apt update && sudo apt full-upgrade
安装驱动
在应用中找到 intel update tool,开始安装。
备注:如果遇到网络问题,尝试翻墙
开源
以下以Linux Mint 18.3为例,安装intel 8代CPU i7 8700自带的intel hd 630显卡驱动。步骤如下:
-
安装操作系统之后,进入桌面系统提示当前处于软件渲染,性能不好,cpu占用高。然后会发现显卡驱动没有安装,屏幕分辨率无法设置。
-
首先,更新系统,通过更新管理器,将可以更新的内容都更新下来,包括linux kernel
-
特别注意linux kernel的选择
-
Linux mint 18.3默认带的linux内核是4.10,这个内核是无法支持hd 630的,必须更新。
-
用更新管理器更新下来的内核是linux 4.13.38,这个是ubuntu 17.10版本使用的内核,比较稳定。
-
用更新管理器列出可选内核时,还会看到非常新的4.15内核。这个内核验证过,如果没有更新intel显卡驱动就直接安装,会在启动时黑屏无法使用。在用下面的方式安装好驱动之后,可以正常工作。不过4.15内核实在太新,为了避免麻烦,还是建议选择比较稳定的4.13.38内核。
-
-
重启机器,此时使用的内核版本是4.13.38
-
添加ppa仓库
sudo add-apt-repository ppa:oibaf/graphics-drivers sudo apt-get update
-
再次使用更新管理器,此时刷新后会看到有新的可更新内容:
选择全部进行安装。
-
设置Grub参数,增加"i915.alpha_support=1"
设置的方式有两种,可以手工通过命令行设置:
打开
/etc/default/grub
, 找到GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
这行,修改为GRUB_CMDLINE_LINUX_DEFAULT="i915.alpha_support=1 quiet splash"
, 保存。然后执行sudo update-grub
命令让参数生效。也可以通过Grub Customizer这个图形工具来设置:
首先安装grub-customizer:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt update sudo apt install grub-customizer
然后启动grub customizer,在General tab下,找到Kernel Parameters,加入
i915.alpha_support=1
,保存即可。 -
重新启动,此时显卡驱动就应该安装完成可以使用了。
备注
从安装的过程看,这个方式应该也可以用来安装amd和ati显卡驱动,后续有机会再试试。
从简单好用来说,linux下使用nvidia显卡是最省事省心的方案。
1.3 - Linux Mint安装时的系统设置
1.3.1 - 安装配置zsh作为默认shell
参见:
https://skyao.io/learning-ubuntu-server/docs/installation/basic/zsh/
1.3.2 - 取消PPA仓库
取消PPA仓库
当添加太多的 PPA 仓库之后,apt update 的速度就会慢很多。
考虑到大多数软件不会经常更新,而且我们也没有立即更新的迫切需求,因此建议取消这些 PPA 仓库。
具体做法,“开始菜单” -> “系统管理” -> “软件源” -> “PPA”, 将不需要及时更新的软件的 PPA 取消。
这个操作可以在每次你觉得 apt-get update
速度慢时检查 :)
1.3.3 - 修改Linux Mint的快捷键
默认安装之后的 linux mint 的部分按键会和一些关键应用发生冲突,因此考虑修改。
避免和IntelliJ Idea冲突
-
ctrl + alt + left/right
在 idea 中,ctrl + alt + left/right 用于在光标在文件的上一个未知/下一个位置之间跳转,非常方便。
但是默认 linux mint 是将这个快捷键分配给了工作区的上一个工作区/下一个工作区,直接冲突了。
修改方式,“系统设置” –> “键盘” –> “快捷键” –> “工作区”。
注: 我一般喜欢设置为
ctrl + shift + left/right
-
ctrl + alt + L
在idea中这个快捷键用来格式化代码,默认 linux mint 是将这个快捷键分配给了锁定屏幕。
修改方式,“系统设置” –> “键盘” –> “快捷键” –> “系统” –> “锁定屏幕”。
注: 我一般喜欢设置为
ctrl + alt + delete
,默认 linux mint 中这个快捷键是给注销用的,考虑到注销极少使用,所以分配给锁屏,顺便和windows下的使用习惯保持一致。
工作区快捷键
默认工作区的几个快捷键都是 ctrl + alt + (left|right|up|down)
,上面为了避免和 IntelliJ Idea 冲突,我们修改了 ctrl + alt + left/right,为了保持一致,其他几个快捷键也相应修改过来。这样连续使用时,左手按住 ctrl + shift, 右手按 上下左右就可以关联到4个不同的快捷键,比较方便。
修改方式,“系统设置” –> “键盘” –> “快捷键” –> “常规”:
- “显示窗口选择屏幕” 修改为
Shift+Ctrl+Down
- “显示工作区选择屏幕” 修改为
Shift+Ctrl+Up
多窗口快捷键
为了方便多个窗口之间切换,
- “在打开的窗口间循环” 默认是 “Alt + Tab”,这个和windows/mac是一致的,保持不变。
- “在同一应用打开的窗口间循环” ,默认没有快捷键,设置为 “Alt + Up”
- “在同一应用打开的窗口间逆向循环” ,默认没有快捷键,设置为 “Alt + Down”
1.3.4 - 修改后的Linux Mint的常用快捷键
窗口快捷键
多窗口间切换
- Shift+Ctrl+Up: 在屏幕上(全屏)显示所有工作区中的所有打开窗口的缩略视图
- Shift+Ctrl+Down: 在屏幕上(全屏)显示当前工作区中所有打开窗口的缩略视图
- Alt+Tab: 在打开的窗口间循环,仅限当前工作区
窗口显示
- Alt+Up: 最大化窗口
- Alt+Down: 最小化窗口
- Alt+F5: 取消最大化窗口
- Alt+F4: 关闭窗口
- super+D: 显示桌面
- Alt+Space: 显示窗口菜单
- Alt+F10: 切换最大化状态
窗口定位
- Alt+F8:改变窗口大小
- Alt+F7: 移动窗口: 注意这个快捷键在某些关键时刻几乎可以用来救命
跨工作区
- Shift+Ctrl+Alt+Left: 移动窗口到左边工作区
- Shift+Ctrl+Alt+Right: 移动窗口到右边工作区
跨屏幕
- Shift+Super+Left: 移动窗口到左边屏幕
- Shift+Super+Right: 移动窗口到右边屏幕
工作区快捷键
- Ctrl+Shift+Left: 切换到左侧工作区
- Ctrl+Shift+Right: 切换到右侧工作区
系统快捷键
- Ctrl+Alt+End: 关机
- Ctrl+Alt+Delete: 锁定屏幕
启动器快捷键
- Ctrl+Alt+T: 启动终端
- Super+E:打开主目录
自定义快捷键
- Alt+G: 打开Gnome Do
1.3.5 - 修改字体设置
添加微软雅黑字体
某些网站会指定使用微软雅黑字体,而 linux mint 默认不带微软雅黑字体,因此在显示上会很难看。比如 https://www.chiphell.com/ 网站的首页,指定的首选字体微软雅黑是:
但由于缺少字体,导致使用宋体显示:
这样的文字看起来就很累了:
解决方式就是要添加微软雅黑字体,具体步骤:
-
从win10系统中提取出字体文件 :一般在
c:/Windows/Fonts
目录下 -
在linux mint 系统字体文件夹中建立对应的字体文件夹
cd Windows/Fonts sudo mkdir /usr/share/fonts/msyh sudo cp msyh.ttc msyhbd.ttc msyhl.ttc /usr/share/fonts/msyh/ sudo fc-cache -fv /usr/share/fonts/msyh: 正在生成缓存,新增缓存内容:6 个字体,0 个目录
-
刷新网页:注意要让字体生效,需要关闭浏览器进程,然后重新打开,不然不会装载新增的字体
下面是增加雅黑字体之后chh的显示效果,可以和上面的图片对比:
修改默认字体为文泉微米等宽黑
文泉微米等宽黑的介绍和评价参考:
官方下载地址:
http://wenq.org/wqy2/index.cgi?Download#MicroHei_Beta
ubuntu可以直接用 apt-get 安装:
sudo apt-get install fonts-wqy-microhei
这样下载安装的是 fonts-wqy-microhei_0.2.0-beta-3_all.deb
版本。
也可以在这个页面手工下载deb安装包,版本是 fonts-wqy-microhei_0.2.0-beta-3.1_all
:
https://debian.pkgs.org/sid/debian-main-amd64/fonts-wqy-microhei_0.2.0-beta-3.1_all.deb.html
打开菜单–>首选项–> 选择字体,默认字体设置如下:
- Default Font: Ubuntu Regular 10
- Desktop Font: Ubuntu Regular 10
- Document Font: Sans Regular 10
- Monospace Font: DejaVu Sans Mono Book 10
- Window title front: Ubutu Medium 10
一律修改成文泉驿等宽微米黑,字体大小也适当加大。
- Default Font: Wenquanyi Micro Hei Regular 10
- Desktop Font: Wenquanyi Micro Hei Regular 10
- Document Font: Wenquanyi Micro Hei Regular 10
- Monospace Font: Wenquanyi Micro Hei Mono Regular 10
- Window title front: Wenquanyi Micro Hei Regular 10
备注:如果找不到文泉驿字体,请执行
sudo fc-cache -fv
命令刷新字体缓存。
更换文泉驿字体后,整体界面比默认风格要好看太多了。强烈推荐!
移除不需要的字体
有些地方的字体会继续保留为楷体,需要在软件管理器中,找到"Fonts-arphic-ukai"和"Fonts-arphic-uming",移除这两个字体。
重新启动后,可以发现原来的一些字体比如命令行下的楷体(默认,超级丑)就变为前面设置的文泉微米等宽黑了。
备注:如果没有设置就直接删除 “Fonts-arphic-ukai"和"Fonts-arphic-uming” 这两个字体,就会出现因为字体缺失而造成的乱码现象。
设置命令行窗口字体
打开命令行,“编辑” -> “首选项” 中勾选自定义自体,适当放大字体,默认12,可以考虑20。
对比了 Ubuntu Mono / Monospace 等等宽字体,最后发现还是默认的 Monospace 比较好看,就不修改了。
1.4 - 安装网络服务软件
1.4.1 - 安装配置SSH服务器端
安装SSH
直接apt安装,然后设置数据所在的路径。
sudo apt-get install ssh
安装完成之后会启动,并注册为service,以后每次开机都能自动启动,可以通过 service ssh status
命令查看当前状态:
$ sudo service ssh status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-08-31 03:46:10 CST; 7h left
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1192 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 1226 (sshd)
Tasks: 1 (limit: 38038)
Memory: 2.3M
CGroup: /system.slice/ssh.service
└─1226 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
8月 31 03:46:10 skywork systemd[1]: Starting OpenBSD Secure Shell server...
8月 31 03:46:10 skywork sshd[1226]: Server listening on 0.0.0.0 port 22.
8月 31 03:46:10 skywork sshd[1226]: Server listening on :: port 22.
8月 31 03:46:10 skywork systemd[1]: Started OpenBSD Secure Shell server.
开启防火墙
通过 ssh 命令登录,如果能登录成功,则 service ssh status
命令可以看到最新的登录情况:
$ sudo service ssh status
......
8月 30 19:53:15 skywork sshd[3127]: Accepted password for sky from 192.168.0.41 port 38994 ssh2
8月 30 19:53:15 skywork sshd[3127]: pam_unix(sshd:session): session opened for user sky by (uid=0)
如果 ssh 命令被挂住,没有相应,则通常是因为ssh所在服务器上的防火墙开启并阻止了对22端口的访问。
ufw statue
命令可以看到当前防火墙的状态:
$ sudo ufw status
状态: 激活
可以先简单的关闭防火墙进行验证:
$ sudo ufw disable
在系统启动时启用和激活防火墙
如果可以正常ssh登录,说明只是防火墙的问题。
也可以通过linux mint自带的防火墙应用在图形化界面上进行操作。可以设置状态为是否开启,以及在开启时通过增加Rule来容许22端口对外暴露。
1.4.2 - 安装配置远程桌面连接服务
XRDP
安装xrdp
安装 xrdp:
sudo apt install xrdp
命令输出如下:
sudo apt install xrdp
[sudo] sky 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
xorgxrdp
建议安装:
guacamole xrdp-pulseaudio-installer
下列【新】软件包将被安装:
xorgxrdp xrdp
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 15 个软件包未被升级。
需要下载 488 kB 的归档。
解压缩后会消耗 3,212 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://mirrors.dgut.edu.cn/ubuntu focal/universe amd64 xrdp amd64 0.9.12-1 [428 kB]
获取:2 http://mirrors.dgut.edu.cn/ubuntu focal/universe amd64 xorgxrdp amd64 1:0.2.12-1 [59.9 kB]
已下载 488 kB,耗时 0秒 (1,180 kB/s)
正在选中未选择的软件包 xrdp。
(正在读取数据库 ... 系统当前共安装有 387220 个文件和目录。)
准备解压 .../xrdp_0.9.12-1_amd64.deb ...
正在解压 xrdp (0.9.12-1) ...
正在选中未选择的软件包 xorgxrdp。
准备解压 .../xorgxrdp_1%3a0.2.12-1_amd64.deb ...
正在解压 xorgxrdp (1:0.2.12-1) ...
正在设置 xrdp (0.9.12-1) ...
Generating 2048 bit rsa key...
ssl_gen_key_xrdp1 ok
saving to /etc/xrdp/rsakeys.ini
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp-sesman.service → /lib/systemd/system/xrdp-sesman.service.
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp.service → /lib/systemd/system/xrdp.service.
正在设置 xorgxrdp (1:0.2.12-1) ...
正在处理用于 systemd (245.4-4ubuntu3.11) 的触发器 ...
正在处理用于 man-db (2.9.1-1) 的触发器 ...
正在处理用于 libc-bin (2.31-0ubuntu9.2) 的触发器 ...
然后,有一件非常重要的事情,但很多很多教程和博客里面都没有说:
echo env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS cinnamon-session>~/.xsession
一定要有这个 .xsession 文件,而且内容是上面的内容,不是 xfce4-session
之类。否则就会出现连接成功之后黑屏然后立即断开的问题。
参考资料:
使用体验
速度超级慢,简直抓狂,我这还是局域网千兆有线网卡直接连接。
AnyDesk
https://anydesk.com/zhs/downloads/linux
试用了一下,速度很不错,图形显示效果尤佳。秒杀 xrdp !
但可惜是商业付费产品。
1.5 - 修改主题美化界面
1.5.1 - WhiteSur主题
介绍
安装WhiteSur主题
手工下载安装主题
WhiteSur主题相关的文件可以从下面地址下载:
WhiteSur Gtk Theme
这是 WhiteSur Gtk 主题。
地址:https://www.gnome-look.org/p/1403328/
下载文件:
- WhiteSur-dark.tar.xz
- WhiteSur-light.tar.xz
- WhiteSur-light-solid.tar.xz
- WhiteSur-dark-solid.tar.xz
备注:看介绍说NVIDIA的显卡适合用 solid 的主题,不了解为什么,都下载下来
WhiteSur-icon-theme
这是仿big sur的图标。
地址:https://www.gnome-look.org/p/1405756/
下载文件:
- 01-WhiteSur.tar.xz
macOS Big Sur cursors
这是仿big sur的鼠标指针。
地址:https://www.gnome-look.org/p/1408466/
下载文件:
- macOSBigSur.tar.gz
主题文件部署
进入当前用户的 home 目录,建立以下文件夹:
cd
mkdir .themes
mkdir .icons
将前面下载的主题文件和icon文件(包括cursors的图标)都解压后复制到上面两个目录中。
设置主题为WhiteSur
打开系统的 “主题” 设置,将 窗口边框 / 图标 / 控件 / 鼠标指针 / 桌面 都修改为 WhiteSur
。
备注:light和dark看喜欢,我一般喜欢设置 dark,长时间用不累眼。
调整Linux Mint的面板
在安装dock效仿macos之前,先要将Linux Mint的面板从默认的底部移动到顶部,将底部的空间让出来给 dock。
然后继续对linux mint的面板进行设置:
-
修改面板图标
左上角的LM图标,可以修改为mac的图标。在LM图标上右键点配置,就可以修改图标,而且linux mint目录下的图标中就有一个现成的 mac 的图标,直接可以使用
-
修改面板高度
在面板上右键,点 面板配置,将面板高度从默认的40修改为最小的20。
-
将自动隐藏面板设置为智能隐藏。
设置Mac壁纸
为了和macos的界面尽量一致,同时也营造macos的感觉,壁纸是必不可少的。
https://512pixels.net/projects/default-mac-wallpapers-in-5k/#jp-carousel-19693
这个地址里面有mac各个版本的壁纸可供下载,5k/6k的分辨率足够清晰,下载 big sur 和 Monterey 经典的彩色壁纸。
主题搞定!此时界面已经美化了很多。
其他补充
desktop cube
打开 extension(扩展),在下载中找到 desktop cube,双击安装,然后点 + 启用。
备注:如果安装是报错说连接被重置,请开启科学上网。
这是是用于workspace切换时的转场动画,挺酷炫的。
减少桌面图标
桌面上东西太多会影响观感。
在桌面上右键,点"自定义" -> “桌面设置”,取消以下内容的勾选:
- 计算机
- 主目录
- 已挂载的驱动器
- 网络:默认就是不勾选的
- 显示缺少的显示器的图标
2 - Linux Mint的硬件与监控
2.1 - Conky
安装
新版本的conkey的安装和配置方式和之前的完全不一样了。
可以直接 apt-get 安装
sudo apt-get install conky-all
conky-manager 不再存在了。
安装完成之后执行 conky &
命令,就能看到 conky 的监控界面了。但,很丑很丑。
配置
暂时先不研究。
参考
参考这三个应该就可以的:
2.2 - Hardinfo
hardinfo 是一个硬件信息查看工具。
可以直接通过软件管理器安装,“开始菜单” -> “系统管理” -> “软件管理器”,搜索 hardinfo
,然后直接安装。
之后在 “开始菜单” -> “系统管理” -> “System Profiler and Benchmark”,打开 hardinfo,就可以查看到系统信息和硬件设备信息:
2.3 - System Monitor
System Monitor 是 Linux Mint 自带的系统监控工具,在 “开始菜单” -> “系统管理” -> “System Monitor” 打开。
- Processes 看进程信息,相当于图形版本的 top
- Resources 看资源信息
- File Systems 看硬盘分区和分区使用情况
如图,Resources中可以看到cpu,内存(包括交换分区),网络的使用情况:
2.4 - 关闭屏幕
最近经常从 macbook 运行 vs code 来 remote ssh 到 linux mint 主机上进行开发,遇到一个小问题:就是 linux mint 的主机屏幕如果不关闭,我就无法在 Macbook 上直接使用显示器(我的3台4k显示器分别有两组线材连接到台式机和macbook),我必须一个一个显示器去调整输入信号为macbook,非常麻烦。
解决的方法有两种。
闲置超时自动关闭屏幕
在 linux mint 的系统设置(system settings)中中,Power Options 选项中设置 “Turn off the screen when inactive for” ,但很遗憾最小的时间为 5分钟。
这个方式可用,单等5分钟是不能忍的。这还不如直接关机再重启呢,20秒之内可以重新启动完成。
在下面还有一个 “when the power button is pressed”,在windows下可以选择关闭屏幕,但是 linux mint 里面没有关闭屏幕的选项,最多只能选 “Lock Screen”。
只能找其他的方法。
通过命令来关闭屏幕
google了一圈,发现这个命令可以用在 linux mint上:
cinnamon-screensaver-command -l; xset dpms force off;
如果遇到报错:
xset: unable to open display ""
则需要设置 DISPLAY
环境变量为 :0.0
,为了避免造成其他影响就不直接修改 .zshrc 文件了,改在命令中增加 export 内容:
cinnamon-screensaver-command -l; export DISPLAY=:0.0;xset dpms force off;
实测可用。
添加alias命令
为了方便使用,在 .zshrc 中增加 alias:
alias turn-off-screens='cinnamon-screensaver-command -l;export DISPLAY=:0.0;xset dpms force off;'
需要关闭屏幕时只需要执行 turn-off-screens
就好了。
添加快捷键
增加一个命令,在 /usr/local/bin
创建 shortcut_turn_off_screen.sh
文件,内容为:
bash -c "cinnamon-screensaver-command -l;export DISPLAY=:0.0;xset dpms force off;"
然后在 linux mint 的 System Settings 中选择 Keyboard -> Shortcuts -> Custom Shortcuts,“add custom shortcut”。名称设置为"turn off screen",命令为:
/usr/local/bin/shortcut_turn_off_screen.sh
再分配一个快捷键,为了方便和醒目我就直接把锁屏键(也就是 super + L)用来关闭屏幕了。
直接就可以一键关闭屏幕!赞
参考资料
2.5 - [归档]Cpufreqd
归档说明:已经很久没有在笔记本上折腾linux了,台式机没必要。
折腾 linux mint 的时候,发现linux系统节能方面表现不太好. 后来找到了cpufreqd这个工具, 使用后发现非常好用,可以自定义规则来满足各种情况下的cpu设定, 极度灵活。
叹为观止, 在 cpu 频率调整方面堪称神器,强烈推荐给笔记本用户.
安装
linux mint 中发现直接用软件管理器安装,不用添加ppa。
“开始菜单” -> “系统管理” -> “软件管理器”,搜索 cpufreqd
:
直接安装即可。
配置
设置配置文件
cpufreqd 的精髓在于它可以通过配置文件来定制行为, 下面可以看到cpufreqd启动时时读取/etc/cpufreqd.conf中的配置信息:
$ ps -ef | grep cpu
root 1910 1 0 14:19 ? 00:00:01 /usr/sbin/cpufreqd -f /etc/cpufreqd.conf
cpufreqd.conf详细的配置文档说明请见下文(英文版): cpufreqd.conf - configuration file for cpufreqd.
开机自启动
cpufreqd 是一个命令行工具,因此开机自启动需要手工添加。
“开始菜单” -> “首选项” -> “开机自启动程序”,如图添加:
定制方案
注意事项
在使用 cpufreqd 调节时,最好能实时查看 linux 的系统日志,如果调节不成功,则系统日志中会有错误信息。
tail -f /var/log/syslog
然后通过 conky 等工具实时查看 cpu 频率,可以知道是否调整符合预期。
常见的几个问题:
- policy 的支持,一般只支持到 performance 和 powersave 两种,如果设置为ondemand可能会报错
- cpu频率设置的太低,如果超过cpu物理支持的最低频率,也会报错
- rule名字重名
我的定制方案
下面是我给自己定制的cpu频率设置,给笔记本用的:
[Rule]
name=on-high
ac=on
acpi_temperature=0-50
cpu_interval=20-100
profile=high
[/Rule]
[Rule]
name=on-normal
ac=on
acpi_temperature=50-60
cpu_interval=20-100
profile=normal
[/Rule]
[Rule]
name=on-low
ac=on
cpu_interval=0-20
profile=low
[/Rule]
[Rule]
name=off-high
ac=off
acpi_temperature=0-50
cpu_interval=20-100
profile=high
[/Rule]
[Rule]
name=off-normal
ac=off
acpi_temperature=50-60
cpu_interval=20-100
profile=normal
[/Rule]
[Rule]
name=off-low
ac=off
profile=low
[/Rule]
台式机的配置就要简单一些:
[Rule]
name=high
acpi_temperature=0-50
cpu_interval=5-100
profile=high
[/Rule]
[Rule]
name=normal
acpi_temperature=50-80
cpu_interval=5-100
profile=normal
[/Rule]
[Rule]
name=low
cpu_interval=0-5
profile=low
[/Rule]
配置文件参考
下面是默认配置文件和我定制的配置文件,仅供参考:
更多功能
看到配置中支持针对某些应用做特殊设置, 比如默认配置中有这个例子:
# use performance mode if I'm watching a movie
# I don't care for batteries!
# But don't heat too much.
[Rule]
name=Movie Watcher
programs=xine,mplayer,gmplayer
battery_interval=0-100
acpi_temperature=0-60
cpu_interval=0-100
profile=Performance High
[/Rule]
以后考虑针对自己的实际情况再做调整, 感觉 programs 这个参数可以增加很多的想象空间 :)
2.6 - [归档]Psensor
归档说明:已经很久没有在笔记本上折腾linux了,台式机没必要。
Psensor 是一个硬件温度监控工具。
安装
可以通过软件管理器直接安装, “开始菜单” -> “系统管理” -> “软件管理器”,搜索 psensor
,然后直接安装。
有几个软件会自动安装:
- lm-sensors
- hddtemp
安装完成之后,在命令行中执行 psensor
或者点 “开始菜单” -> “系统管理” -> “psensor” 可以打开 psensor:
设置
设置开机自启动
点红色箭头处的 “Psensor” -> “首选项” -> “startup”:
将 “Lauch on session startup” 和 “启动时隐藏窗口” 选上。
设置温度告警
点红色箭头处的 “Psensor” -> “传感器首选项” -> “警告”:
勾选 “激活桌面气泡提示”,然后设置温度的高阈值(低阈值一般用不上)。
测试一下,故意将cpu温度的高阈值设置为当前温度以下,然后就会立即看到 Psensor 的报警: 首先有一个气泡出现在桌面,然后系统托盘处 Psensor 的图片变成红色:
将关心的几个温度,如cpu的各个核心,硬盘温度等加上告警,配合开机自启动,就可以监控到系统温度异常了。
3 - 日常使用的软件的安装和配置
3.1 - 文档阅读和编辑器软件
3.1.1 - Typora
非常漂亮的一个markdown编辑器,和haroopad的左右两栏不同,typora是直接在一个界面中进行编辑和渲染。
我选择 typera 的理由: 1. 好用 2. 同时支持windows/linux/macos 三大平台
安装方式
安装方式:
wget -qO - https://typora.io/linux/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/typora.asc
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
sudo apt-get install typora
跳过某个版本
使用时发现,原本正常的typora在升级到新版本之后就不能正常使用了,工具栏无法使用。反复卸载安装并清理本地缓存无效,最后只好跳过这个最新版本。
先看有哪些版本可选:
apt-cache madison typora
typora | 0.11.6-1 | https://typora.io/linux ./ Packages
typora | 0.11.2-1 | https://typora.io/linux ./ Packages
typora | 0.10.11-1 | https://typora.io/linux ./ Packages
typora | 0.9.98-1 | https://typora.io/linux ./ Packages
出问题的是最新的 0.11.6-1 版本,因此选择安装 0.11.2-1:
sudo apt install typora=0.11.2-1
然后就恢复正常了。
后续更新:第二天这个有问题的版本就被下线了。
参考:
配置字体
Linux 下 typora 的字体不是太好看,而且字体是通过主题来设置的,并不能通过系统或者 typora来设置。
这意味着如果要修改字体,则需要去修改主题文件。
不过,typora 给了一个 “添加自定义css” 的方案,可以简单的搞定这个问题。
打开主题所在的目录,如 /home/sky/.config/Typora/themes
,新建一个 base.user.css
文件,内容为:
body {
font-family: "文泉驿等宽微米黑";
}
html,
body,
button,
input,
select,
textarea {
font-family: "文泉驿等宽微米黑";
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "文泉驿等宽微米黑";
}
pre,
code,
kbd,
tt,
var {
font-family: "文泉驿等宽微米黑";
}
如果linux mint安装时选择的是英文版本而不是中文版本,则需要设置为:
body {
font-family: "WenQuanYi Micro Hei Mono Regular";
}
html,
body,
button,
input,
select,
textarea {
font-family: "WenQuanYi Micro Hei Mono Regular";
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "WenQuanYi Micro Hei Mono Regular";
}
pre,
code,
kbd,
tt,
var {
font-family: "WenQuanYi Micro Hei Mono Regular";
}
这样就能修改所有主题的默认字体。
参考:
3.1.2 - Xmind
下载
从 xmindchina 官方网站下载:
https://www.xmind.cn/download/
Xmind 支持 windows,mac 和 linux,下载 linux 64位版本即可,如 Xmind-for-Linux-amd64bit-24.04.10311-202405240010.deb
即可。
安装
直接安装下载好的 Xmind-for-Linux-amd64bit-24.04.10311-202405240010.deb
就可以了.
3.2 - 日常使用的工具类软件
3.2.1 - 输入法
Linux mint 21.1(对应 ubuntu 22.04) 下不要安装搜狗输入法,安装完成之后无法使用,原因不明,看搜狗输入法的官方介绍也只支持到20.04,没有22.04的支持。所以放弃,用自带的 sunpinyin 就好了。
安装fcitx
由于是安装操作系统时选择的是安装英文版本,因此需要先安装 fcitx
sudo apt install fcitx
打开 “开始菜单” -> “Preferences” -> “Input method”,可以看到输入法已经默认为fcitx:
点击 “Simplified Chinese” ,找到 “Intall the language support package”,点击之后的 “install” 开始安装语言包。
启用输入法
重启,之后 打开 “fcitx configuration”,在 “Input method configuration” 的 “Input Method” 中通过点 “+” 增加 “Sunpinyin”
3.2.2 - 应用程序启动器Synapse
用来替代gnome-do
介绍
ubuntu 20.04 之后就不再支持 gnome-do,取而代之的是 Synapse,功能和界面都差不多。
https://launchpad.net/synapse-project
安装
sudo apt install synapse
配置
首选项中设置:
- 登录时启动
- 取消勾选"显示通知区域图标":没必要
- 激活快捷键设置为 gnome-do 时代我习惯的
alt + g
- Theme 设置为 “Doish”
插件中过了一遍,把用不倒的关了。
发现缺少一些必须的插件:
- Microsoft Edge:这是我现在主力浏览器
3.2.3 - [归档]安装搜狗输入法
安装fcitx
由于是安装操作系统时选择的是安装英文版本,因此需要先安装 fcitx
sudo apt install fcitx
打开 “开始菜单” -> “Preferences” -> “Input method”,可以看到输入法已经默认为fcitx:
点击 “Simplified Chinese” 之后的 “install” 开始安装。
安装搜狗拼音输入法
安装步骤如下:
-
进入搜狗输入法官网,下载 Linux 64位版本
https://pinyin.sogou.com/linux/
最新版本已经明确申明稳定支持 ubuntu 20.04
在终端中执行命令:
sudo dpkg -i sogoupinyin_3.4.0.9700_amd64.deb
-
重启系统,完成安装
设置输入法
重启之后,再次打开输入法/Input method,会看到只有一个英文输入法。
点 “+” 号增加新的输入法,搜索 “sogou”,注意去掉 “only show current langurage"的勾选,就会找到 sogoupinyin
“Global Config” 里面可以看到相关的设置:
部分细节:
- 切换输入法的快捷键是
Ctrl+Space
- 上一页的快捷键是
-
或者,
- 下一页的快捷键是
=
或者.
- “Candidate Word Number"用来设置候选词的个数
修复
偶尔会遇到搜狗输入法异常,此时解决的方式是删除.config/SogouPY
目录,然后重新启动电脑。
注意:尝试过重新启动搜狗输入法,无效,还是需要重启机器。
调整字体
搜狗输入法安装之后,系统字体会发生变化,默认会变成楷体,非常不好看。
解决方案,删除下面的这两个字体文件
cd /usr/share/fonts/truetype/arphic
sudo rm -f ukai.ttc uming.ttc
然后重启即可。
3.2.4 - 创建Ramdisk
创建ramdisk
cd ~/data/samba
mkdir ramdisk
chmod 777 ramdisk
sudo mount -t tmpfs -o size=16g ramdisk /home/sky/data/samba/ramdisk
测试ramdisk
在 ramdisk 被 mount 之后,可以用dd命令进行测试
# 测试写入ramdisk
sudo dd if=/dev/zero of=/home/sky/data/samba/ramdisk/zero bs=4k count=100000
记录了1000000+0 的读入
记录了1000000+0 的写出
4096000000字节(4.1 GB,3.8 GiB)已复制,1.55497 s,2.6 GB/s
# 测试读取ramdisk
sudo dd if=/home/sky/data/samba/ramdisk/zero of=/dev/null bs=4k count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
4096000000字节(4.1 GB,3.8 GiB)已复制,1.13431 s,3.6 GB/s
销毁ramdisk
sudo umount /home/sky/data/samba/ramdisk
参考资料
3.2.5 - 截图软件Shutter
介绍
Shutter是一个功能丰富的屏幕截图程序,适用于基于Linux的操作系统,如Ubuntu。你可以对一个特定的区域、窗口、整个屏幕,甚至是一个网站进行截图–对其应用不同的效果,在上面画画以突出重点,然后上传到图片托管网站,所有这些都在一个窗口内完成。Shutter是免费的,开源的,并在GPL v3下许可。
截图
Shutter允许你捕捉屏幕上的几乎任何东西,而不会失去对屏幕截图的控制(标签式界面)。下面是你可以用Shutter做的事情的概述。
-
捕捉特定区域
这允许你在屏幕上选择一个任意的区域,只捕捉那些你真正需要的部分。屏幕可以被放大,所选区域可以被调整大小或移动。
-
捕捉桌面
Shutter不仅可以捕获你桌面(或工作区)上的所有内容,它还支持多显示器设置,例如,捕获活动显示器。
-
捕捉窗口
只需用鼠标选择你要捕捉的窗口。Shutter会以一种吸引人的、有用的方式突出显示当前选择的窗口。甚至可以简单地从列表中选择一个窗口,并以某种方式捕获它。
-
捕获菜单或工具提示
用Shutter捕捉菜单或工具提示是非常容易的。你选择其中一个选项,一个(用户定义的)倒计时就开始了。在这段时间里,你可以打开所需的菜单或让一个特定的工具提示出现。Shutter会识别并捕获它。
-
捕获网站
Shutter使用 gnome-web-photo 来捕获一个网站,而无需打开浏览器窗口
编辑
尤其是当你为编写教程或手册而拍摄屏幕截图时,你需要对图片进行编辑,例如突出显示其中的某些部分。有了Shutter,你就不需要打开像GIMP这样的外部图形编辑器了,因为Shutter有自己的内置编辑器。以下是一些最重要的功能:
-
添加文本、箭头、矩形、椭圆……。
内置编辑器允许你为你的截图添加基元(如矩形、直线等)、箭头或文本。每个形状都可以通过改变颜色、字体和/或线宽来定制。
-
审查/像素化以隐藏私人数据
不想显示IP或电子邮件地址等敏感数据?Shutter为你提供了两个简单而有效的工具来隐藏这些数据。
-
自动增加形状 在编写分步指南时,人们经常会在屏幕截图中添加递增的数字(通常是通过文字)。Shutter提供了一个特定的自动递增形状,可以添加到截图中。这再简单不过了!
-
裁剪
内置的编辑器还包括裁剪屏幕截图的工具。只需用鼠标选择一个区域,或者在输入框中输入所需的尺寸。
安装
最新的版本需要通过 PPA 方式来安装:
sudo add-apt-repository ppa:linuxuprising/shutter
sudo apt-get update
sudo apt install shutter
参考:
配套软件包
gnome-web-photo 包让shutter能够抓取完整的网站页面:
sudo apt install gnome-web-photo
使用时点击shutter界面上的 “网页” ,然后输入 URL 就可以截图。
TBD: Unable to locate package gnome-web-photo 最近报错无法安装
设置
图片导出格式
打开 shutter,菜单中点 “首选项” –> “主要”。
图片格式中,默认时png格式,文件大小会稍微嫌大,可以设置为 jpg 格式,然后图片质量设置为 80%.
截图
快捷键截图
参考:https://shutter-project.org/faq-help/set-shutter-as-the-default-screenshot-tool
System Settings => Keyboard => shortcuts => custom shortcuts => add custom shortcuts
Name 设置为 shutter, command 设置为 shutter -s
,然后设置快捷键,比如 print screem
键。
在按下截图快捷键,如我们上面设置的 print screem
键后,再点一下鼠标左键,就可以开始截图了。
- 选择截图区域: 按住鼠标左键拖动矩形区域,适当调整大小和位置,回车确认
- 放大/缩小:用鼠标滚轮对鼠标所在位置附近的屏幕进行放大/缩小
界面截图
在打开 shutter 界面后,通过界面上的按钮也可以方便的截图:
- selection:选择截图区域
- Desktop: 选择要截图的桌面,直接点是截取 workspace1 下的所有屏幕,也可以选择其他 workspace。多屏时如果只想截取一个屏幕,可以勾选 “Limit to current Monitor”,但我测试下来只能截取三个屏幕中中间的一个(主屏幕)。发现另外一个方便的方法,就是选windows时,点击在屏幕上没有任何窗口的地方。
- Windows:选择要截图的窗口,直接在下列框中选择有时会报错,比较方便的方式是点击Windows按钮后,再去点击要截图的窗口。
可以参考官方的截图教学视频:
3.2.6 - GIMP
记得以前版本的 Linux Mint 是自带 GIMP 的,但是最新版本不再自带了,因此需要自行安装。
最简单的方式就在 soft manager 里面搜索 GIMP,然后安装。
3.2.7 - 壁纸管理软件variety
介绍
variety 是一个壁纸管理软件,支持自动切换壁纸,支持网络下载。
安装
直接在软件管理器中搜索 variety
,安装即可。
配置
和 linux mint 自带的壁纸管理相比,variety 支持多个文件夹,切换壁纸时随机在各个目录下的壁纸中选择。而默认的壁纸管理只能选择一个目录。
另外 variety 支持自动下载网络壁纸,只是质量没有保证,有些壁纸丑的吓人。网络下载这个功能不实用。
3.2.8 - [归档]软件安装工具snap
备注: snap 感觉很烂,还是不安装了,linux mint 将它刻意隐藏果然是有道理的。
参考:
https://snapcraft.io/docs/installing-snap-on-linux-mint
sudo mv /etc/apt/preferences.d/nosnap.pref /etc/apt/nosnap.pref.backup
sudo apt update
sudo apt install snapd
3.3 - 网络通讯类软件
3.3.1 - discord
下载
安装
deb标准安装
正确的启动方式
命令行启动:
$ discord --proxy-server=http://192.168.0.30:7890
也可以进入目录 /usr/share/discord
, sudo vi discord.desktop
修改 :
Exec=/usr/share/discord/Discord --proxy-server=http://192.168.0.30:7890
在这里增加代理配置。之后点这个图标就能带着代理信息启动discord了。可以将这个图标拖到桌面。
但很遗憾,固定到panel时,无法生效。
参考:
- https://www.nonozero.com/archives/198.html
- https://xcel.me/howto-set-proxy-for-discord-app-on-linux/
附录:代理问题
启动之后卡在 update 界面,估计是网络被墙了。在命令行中启动discord,可以看到日志:
$ discord
Discord 0.0.17
Starting app.
Starting updater.
[Modules] Modules initializing
[Modules] Distribution: remote
[Modules] Host updates: enabled
[Modules] Module updates: enabled
[Modules] Module install path: /home/sky/.config/discord/0.0.17/modules
[Modules] Module installed file path: /home/sky/.config/discord/0.0.17/modules/installed.json
[Modules] Module download path: /home/sky/.config/discord/0.0.17/modules/pending
[Modules] No updates to install
[Modules] Checking for host updates.
Error downloading with electron net: network timeout: https://discord.com/api/updates/stable?platform=linux&version=0.0.17
Falling back to node net library..
[Modules] Host is up to date.
[Modules] Checking for module updates at https://discord.com/api/modules/stable/versions.json
Error downloading with electron net: network timeout: https://discord.com/api/modules/stable/versions.json
Falling back to node net library..
......
开启全局翻墙之后,可以顺利通过上面报错的地方,但是又会报错
[WebContents] did-fail-load -200 ERR_CERT_COMMON_NAME_INVALID retry in 1000 ms
(node:60932) electron: Failed to load URL: https://discordapp.com/app?_=1651047018860 with error: ERR_CERT_COMMON_NAME_INVALID
(Use `discord --trace-warnings ...` to show where the warning was created)
[WebContents] retrying load https://discordapp.com/app?_=1651047018860
[WebContents] did-fail-load -200 ERR_CERT_COMMON_NAME_INVALID retry in 2526.0695510375936 ms
(node:60932) electron: Failed to load URL: https://discordapp.com/app?_=1651047018860 with error: ERR_CERT_COMMON_NAME_INVALID
[WebContents] retrying load https://discordapp.com/app?_=1651047018860
[WebContents] did-fail-load -200 ERR_CERT_COMMON_NAME_INVALID retry in 4139.532933476243 ms
(node:60932) electron: Failed to load URL: https://discordapp.com/app?_=1651047018860 with error: ERR_CERT_COMMON_NAME_INVALID
但这个问题似乎不会影响 discord 的启动。全局翻墙之后 discord 可以正常使用。
尝试过,设置 all_proxy, http_proxy 等方式对 discord 无效。
3.3.2 - 网络会议软件
3.3.2.1 - 腾讯会议
下载
https://meeting.tencent.com/download-center.html
选择 x86_64 版本
安装
deb 标准安装
配置
主要是将声音配置一下。
3.3.3 - 远程桌面软件Remmina
安装
可以通过软件管理器直接安装,“开始菜单” -> “系统管理” -> “软件管理器”,搜索 remmina
:
需要使用软件管理器安装 remmina 和 插件:
- remmina
- remmina-plugin-rdp: 这个一定要安装,连接windows桌面就是走 RDP 协议
- remmina-plugin-vnc
使用
连接 windows
安装完成之后, 打开 remmina, “connection” -> “new”, Protocol 选 “RDP - Remote Desktop Protocol”, 设置链接参数和账号, 就可以连接到 windows 桌面.
ubuntu18.04
https://www.techrepublic.com/article/how-to-enable-remote-desktop-connections-in-ubuntu-18-04/
3.3.4 - Clash上网软件
下载安装
https://github.com/Dreamacro/clash/releases
下载 clash-linux-amd64-v1.4.2.gz 文件,解压缩之后移动:
chmod +x clash-linux-amd64
mv clash-linux-amd64 clash
sudo mv clash /usr/local/bin/
执行 clash
进行初始化:
$ clash
INFO[0000] Can't find config, create a initial config file
INFO[0000] Can't find MMDB, start download
INFO[0000] HTTP proxy listening at: 127.0.0.1:7890
此时生成的配置文件在 ~/.config/clash/config.yaml
中,可以配置clash的接口、参数、链接信息等。
ip数据库文件地址是 ~/.config/clash/config.yaml/Country.mmdb
。
配置 clash
修改 ~/.config/clash/config.yaml
文件,默认生成的内容只有port一个参数:
port: 7890
退出clash,修改配置文件为:
#http代理
# port: 7890
#socks代理
# socks-port: 7891
# redir-port: 7892
# tproxy-port: 7893
mixed-port: 7890
allow-lan: true
bind-address: "*"
#运行模式: 规则Rule,全局Global,直连Direct
mode: rule
#log-level: silent
log-level: info
#管理ip和端口
external-controller: '0.0.0.0:9090'
#管理密码
secret: '12345678'
然后配置的其他内容,如各种服务器,需要从代理提供商那边获取,通常会给一个url,比如 https://efanyun.me/clash/11629/3xNXXXXX/
,用浏览器访问这个地址将文件下载下来,将里面的服务器配置信息复制到上面的配置文件中。
dns:
enable: true
# listen: 0.0.0.0:53
ipv6: false
default-nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
enhanced-mode: redir-host
fake-ip-range: 198.18.0.1/16
use-hosts: true
nameserver:
- https://dns.alidns.com/dns-query
- https://dns.rubyfish.cn/dns-query
- https://223.5.5.5/dns-query
- https://dns.pub/dns-query
fallback:
- tls://8.8.8.8:853
- tls://dns.rubyfish.cn:853
- https://1.0.0.1/dns-query
- https://public.dns.iij.jp/dns-query
- https://dns.twnic.tw/dns-query
fallback-filter:
geoip: true
ipcidr:
- 240.0.0.0/4
- 0.0.0.0/32
proxies:
- name: 香港1
......
然后启动clash,从日志能看到:
$ clash
INFO[0000] Start initial compatible provider 故障转移
INFO[0000] Start initial compatible provider 自动选择
INFO[0000] Start initial compatible provider 节点选择
INFO[0000] Mixed(http+socks5) proxy listening at: :7890
INFO[0000] RESTful API listening at: 0.0.0.0:9090
浏览器打开控制台地址:
在控制台页面,点击 “设置” -> “外部控制设置”,填入地址:
- Host:127.0.0.1
- 端口: 9090
- 密钥: 12345678
之后就可以通过控制台页面进行配置了,但要注意的是:控制台页面操作的结果并不会保存到配置文件,只能是临时生效。
参考文档
3.3.5 - 使用终端做ssh client
发现 putty 和 Remmina 做 ssh 客户端都不是太好用, 远不如 windows 平台上的 securyCrt 和 putty.
后来看到很多人都推荐直接用linux的终端做 ssh client, 简单敲个 “ssh server_name” 就连上去了,体验上也和和本地一致。
自动登录
为了减少每次敲击密码的麻烦, 还可以通过authorized_keys的方式来自动登录:
-
上传本机的
.ssh/id_isa.pub
文件到服务器端 -
在远程服务器上运行
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
-
在本机终端中输入 “ssh server_address” 即可自动登录
3.3.6 - 安装微软Edge浏览器
参考:
https://linuxhint.com/install-microsoft-edge-browser-ubuntu/
安装方式:
sudo apt install software-properties-common apt-transport-https wget
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main"
sudo apt update
sudo apt install microsoft-edge-stable
3.3.7 - Teams
下载安装
Teams 有支持 ubuntu 的preview 版本,直接下载 deb 文件安装即可
https://www.microsoft.com/en-us/microsoft-teams/download-app
Linux DEB (64-bit)
登录微软帐号
比较麻烦的在 ubuntu 上登录微软的帐号。
安装 intune app
参考文档为:
https://learn.microsoft.com/en-us/mem/intune/user-help/microsoft-intune-app-linux
准备完成之后,执行:
$ sudo apt install intune-portal
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
intune-portal : Depends: libssl1.1 (>= 1.1.0) but it is not installable
Depends: msalsdk-dbusclient (>= 1.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
缺少依赖包,libssl1.1 可以从这里下载:
https://packages.ubuntu.com/bionic/amd64/libssl1.1/download
msalsdk-dbusclient 安装时发现还缺少依赖包:
sudo apt install msalsdk-dbusclient
The following packages have unmet dependencies:
msalsdk-dbusclient : Depends: libsdbus-c++0 (>= 0.8.3) but it is not installable
libsdbus-c++0 ,可以从下面的页面下载 64-bit deb package 安装:
https://www.ubuntuupdates.org/package/core/focal/universe/backports/libsdbus-c%2B%2B0
再次安装 msalsdk-dbusclient:
$ sudo apt install msalsdk-dbusclient
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
microsoft-identity-broker microsoft-identity-diagnostics
The following NEW packages will be installed:
microsoft-identity-broker microsoft-identity-diagnostics msalsdk-dbusclient
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
......
Setting up msalsdk-dbusclient (1.0.1) ...
Processing triggers for dbus (1.12.20-2ubuntu4.1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
启动 intune
按照要求:
https://learn.microsoft.com/en-us/mem/intune/user-help/enroll-device-linux
遇到问题: 在 intune 登录时,输入用户名(微软邮箱)后,直接报错:
Terms of User Error
We couldn't sign you in. Please try again, or contact your administrator.
无法解决,只能放弃。
3.3.8 - 挂载 windows 共享目录
为了方便使用 windows 共享的目录,最好能直接 mount 进来。
安装
需要安装 cifs-utils
:
apt-get install cifs-utils
挂载
使用 mount 命令装载:
sudo mkdir /mnt/nas/d
sudo mount -t cifs -o rw,username=sky,password=***,uid=1000,gid=1000 //192.168.0.30/d/ /mnt/nas/d
- username 和 password 是访问 windows 共享目录需要的账户密码
- rw 表示可以读写
- uid和gid 可以通过 id 命令看到,设置之后mount之后的目录就可以方便当前用户直接读写访问
//192.168.0.30/d/
是 smb 的共享路径,可以通过 “smb://192.168.0.30/d/” 访问验证/mnt/nas/d
是装载的目标路径,必须事先存在,可以在 mount 之前先创建好
卸载
不需要使用时,可以 umount 卸载:
sudo umount /mnt/nas/d
改进脚本
为了方便使用,避免反复输入上面的 mount 命令,一个比较常见的做法是开机自动装载。但是考虑到我的笔记本是在公司和家里移动,而两边可以 mount 的东西不一样。另外也不是每次开机都需要 mount。
因此选择了自己准备脚本,需要时手工执行。另外不想 mount 到 /mnt/
下,也不想 mount 为 root 账号。
最后的解决方式是,我在自己的 home 目录下建立了一个 mount 子目录,然后将需要的 mount 和 umount 脚本扔进去。需要时执行对应 mount 脚本,就将 windows 共享目录 mount 到 /home/myid/mount
下,而且当前用户有读写权限,使用非常方便。
以 mount-nas.sh 为例,内容如下:
#!/bin/bash
CURRENT=`pwd`
# 我的 nas 是台普通windows电脑,共享了几个盘符
NAS_FOLDERS=("d" "m" "n" "p")
for nas_folder in ${NAS_FOLDERS[@]};do
target_folder="$CURRENT/nas-$nas_folder"
if [ ! -d "$target_folder" ]; then
mkdir $target_folder
echo "create folder: $target_folder"
fi
sudo mount -t cifs -o rw,username=sky,password=***,uid=1000,gid=1000 "//192.168.0.30/$nas_folder/" $target_folder
done
read -n1 -p "Press any key to exit..."
同时准备了一个 umount-nas.sh 脚本,方便卸载:
#!/bin/bash
CURRENT=`pwd`
NAS_FOLDERS=("d" "m" "n" "p")
for nas_folder in ${NAS_FOLDERS[@]};do
target_folder="$CURRENT/nas-$nas_folder"
if [ -d "$target_folder" ]; then
sudo umount $target_folder
if [ $? -eq 0 ];then
echo "success to umount $target_folder"
else
echo "fail to umount $target_folder"
fi
fi
done
read -n1 -p "Press any key to exit..."
3.3.9 - [归档]SSH代理服务器
实测: 很不稳定,没有使用价值。可能是服务器端那边做了检查和防范。
代理服务器
-
建立隧道
在本地执行以下命令:
ssh -D 10085 remote_server_address
-
设置代理
在浏览器中设置代理服务器连接为 “socket4”,链接到 “127.0.0.1/10085” 端口。
翻墙
如果远程服务器在国外, 那么这个 ssh 代理服务器 就实现了 翻墙
的功能.
工作原理和用 putty 设置 dynamic 是一样的.
3.4 - 日常使用的多媒体软件
提示:记得更新 codec
首先更新codec,“菜单” –> “影音” –> “Install all media code”, 会自动下载并安装所有确实的 media codec。
3.4.1 - DeadBeef
选择安装 deadbeef 的首要原因,是它支持 DSD 格式!
介绍
http://deadbeef.sourceforge.net/
安装
打开下载页面:
http://deadbeef.sourceforge.net/download.html
找到 DeaDBeeF deb package amd64
下载对应的 deb 文件,下载完成后直接安装即可。
配置
打开 “编辑” –> “偏好设置”,“声音” 选项设置如下:
“DSP(数字信号处理)” 选项中,选择 “Resampler”, 点"配置",设置如下:
默认安装之后这里的 Resampler 是 48K,导致所有 DSD 格式都是重采样为 48k 输出,因此必须修改。我的 DAC 解码器不支持 DSD 格式,只支持到 24Bit /192K ,因此这里我选择了将 DSD 重采样为 192K 输出给 DAC,虽然比真正的 DSD 效果要差,但是总比普通音源要好很多。
如果 DAC 支持 DSD 格式,可以去掉这里的 Resampler ,直接将 352K 的信号输出给 DAC。
3.4.2 - Audacious
介绍
http://audacious-media-player.org/
可惜,没有找到播放 DSD 格式的方法…
安装
audacious 默认存在于 ubuntu/linux mint 的仓库中,不过版本不是最新的,因此为了安装到最新的版本,需要添加下面的 PPA ,然后再安装。
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install audacious
备注:貌似外形也太不好看了。
3.4.3 - 网易云音乐
下载
网易云音乐的下载地址:
选择 “Linux版”,在弹出窗口列出的多个版本中,选择"ubuntu 18.04 64位" 版本下载。
实测20.04下使用没有问题。
3.4.4 - Plex桌面版
安装
https://www.plex.tv/media-server-downloads/#plex-app
选择从 flathub 下载。打开后会跳到 software manager 界面。
其实直接从 software manager 中搜索 plex 也可以方便的找到。
3.5 - 虚拟机类软件
3.5.1 - 安装配置VMWare Player
准备工作
参考:
https://linuxize.com/post/how-to-install-vmware-workstation-player-on-ubuntu-20-04/
先安装:
sudo apt install build-essential linux-headers-generic
下载安装
下载
vmware player官方页面:
https://www.vmware.com/products/workstation-player.html
下载地址:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0
目前最新版本是 16.1.2. 下载 “VMware Workstation 16.1.2 Player for Linux 64-bit”.
安装
chmod +x VMware-Player-16.1.2-17966106.x86_64.bundle
sudo ./VMware-Player-16.1.2-17966106.x86_64.bundle
然后启动vmware player,同意协议,选择非商业用户。
4 - 编程开发相关软件的安装和配置
4.1 - gitkraken
在 windows 和 macos 下,我一般选择 sourcetree 作为 git 图形工具,但很可惜 sourcetree 没有linux版本。
为此,在找了一圈之后,我选择了 gitkraken 这个软件。
下载和安装
deb格式直接安装。
使用
貌似没啥特别,界面美观,功能基本够用。
4.2 - vs code
下载安装
https://code.visualstudio.com/docs/?dv=linux64_deb
下载的 code_1.73.0-1667318785_amd64.deb 文件直接安装即可。
初始化配置
主题
启动手,在 Get Started 界面,“choose the look you want"中选择 “Brower Color themes”,然后选择 “solarized dark”,这是个人最喜欢的一个配色。
字体
默认字体为:
'Droid Sans Mono', 'monospace', monospace
在安装了文泉微米等宽黑字体之后,就可以在vs code中启用这个圆润的多的字体了:
'WenQuanyi Micro Hei Mono', 'monospace', monospace
然后将默认字体大小从 14 修改为 18(27寸4k显示器, mbp 上我用20)。
安装扩展
go
Go Team at Google
Rich Go language support for Visual Studio Code
会有很多依赖需要一起安装,install all即可
GitLens
Remote - SSH
Dev Containers
github codespaces
配置
lunch.json
变量参考:
https://code.visualstudio.com/docs/editor/variables-reference
比较常用的是:
- ${workspaceFolder}