跳转至

Linux 系统设置

3129 个字 207 行代码 预计阅读时间 15 分钟

这一篇主要记录在配置 linux 时候遇到的一些问题和解决方案

VMware

【VMware Workstation 17】 VMware Workstation v17.x 永久许可证激活密钥:

MC60H-DWHD5-H80U9-6V85M-8280D
4A4RR-813DK-M81A9-4U35H-06KND
NZ4RR-FTK5H-H81C1-Q30QH-1V2LA
JU090-6039P-08409-8J0QH-2YR7F
4Y09U-AJK97-089Z0-A3054-83KLA

VMware 无法复制问题的解决

安装 VMware Tools 选项显示灰色的正确解决办法

1. 关闭虚拟机;

2. 在虚拟机设置分别设置 CD/DVDCD/DVD2 和软盘为自动检测三个步骤;

3. 再重启虚拟机,灰色字即点亮。

4. 重新安装 vmware-tools

  • 虚拟机无法打开

虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。

打开.vmx文件,修改virtualHW.version = "19"一行至virtualHW.version = "16"

系统配置

换源

lsb_release -a
uname -a
vim /etc/apt/sources.list

注意换源的时候注意备份之前的

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

20.04 版本的源

wget http://fishros.com/install -O fishros && bash fishros

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

ubuntu 镜像 _ubuntu 下载地址 _ubuntu 安装教程 - 阿里巴巴开源镜像站

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.zju.edu.cn/ubuntu/ focal-security main restricted universe multiverse
sudo apt-get update
sudo apt-get upgrade

中文系统

在系統中添加中文語言,既可以顯示中文,也可以輸入中文。

Fcitx:谷歌拼音、搜狗拼音、搜狗五笔拼音 IBus:智能拼音,五笔(86版) XIM:略(现在用的相对比较少)

sudo apt-get update
sudo apt-get install fcitx-bin

sudo apt-get install fcitx-table 
sudo apt-get install fcitx-table-all

Ubuntu20.04 中安装中文输入法 - 知乎

蓝牙操作

打开系统蓝牙

systemctl status bluetooth

sudo service bluetooth start
sudo /etc/init.d/bluetooth restart
管理界面
bluetoothctl

输入以下命令

list 
scan on 
devices
power on
agent on 
default-agent
pair yourDeviceMAC

其中 pair 后面跟上扫描出的键盘的 MAC 地址,根据提示输入密码,显示配对成功,此时,在桌面的设置界面“我的设备”中可以看到蓝牙中键盘为已配对状态,但此时可能依然无法成功连接。

查看系统信息

查看 cpu 信息

cat /proc/cpuinfo

查看系统架构

uname - a
x86-64、amd64、arm、aarch64 都是些什么?-CSDN博客

sudo !4
执行历史记录中第4条命令

更改密码

passwd
更改其他用户密码
sudo passwd username

更改 root 密码

sudo passwd root

PS1 修改

vim ~/.bashrc

打开文件夹

安装
sudo apt-get install nautilus
nautilus .

截图

  • 使用 screen
  • 使用键盘上面的 print screen

如何在 Ubuntu 中截取屏幕截图(5 种简单方法)

通用软件

apt-get install git
apt-get install vim
  • tldr:简易版 man 手册
  • fd-find:人性化的 find
  • rg(ripgrep):快速搜索
  • fzf : 模糊搜索

安装软件的一些常见命令

sudo dpkg -i xxx.deb
tar -xzvf xxxx.tar.gz

chorme

installment
sudo apt install chromium-browser
verify
chromium-browser --version

terminator

terminator

sudo apt-get install terminator

设置为默认终端

开启 or 关闭快捷键 作用
Ctrl + Shift + O 水平分割终端(分成上下两个窗口)
Ctrl + Shift + E 垂直分割终端(分成左右两个窗口)
Ctrl + Shift + W 关闭当前终端
Ctrl + Shift + X 放大(还原)当前终端
Ctrl + Shift + G 清屏
Ctrl + Shift + Q 关闭所有终端(退出程序)
Ctrl + Shift + T 开一个新终端
快捷键 作用
alt+方向键 or ctrl+TAB 切换窗口
ctrl shift + 加字号
F11 全屏
super(win) + g group, 将不同窗口打包,指令可以广播
Super+Shift+g 取消分组
ctrl+shift+f 搜索命令
Ctrl+Shift+c 复制指令
Ctrl+Shift+v 粘贴指令
Ctrl+Shift+X 将分割的某一个窗口放大至全屏使用
Ctrl+Shift+Z 从放大至全屏的某一窗口回到多窗格界面

vscode

可以使用 fishros 进行安装

vscode on Kali

  1. 用内嵌的浏览器搜索 vscode,下载 vscode .deb 格式的安装包
  2. 在终端中输入 sudo dpkg -i code_1.72.1-1665423861_amd64.deb 进行解压包
  3. vscode 软件上点击鼠标右键,点击 Edit Application
  4. 有个 Command 选项,输入 /usr/share/code/code --unity-launch %F --no-sandbox 即可,再点击保存。

SSH

sudo apt install net-tools
ifconfig
sudo apt-get install openssh-server
ssh user@remote
ssh -X ldz@192.168.0.1  # 带图形化界面
ssh -p 1234 ldz@192.168.0.1 # 指定端口
vim /etc/ssh/sshd_config
  • 33 : PermitRootLogin without-password(第 33 行) 改为 PermitRootLogin yes 并去掉前面的注释符号(#)
  • 57 :#PasswordAuthentication yes( 57 ) 的注释去掉,如果是 no 就改为 yes
  • 保存
service ssh restart

验证安装

service ssh status

开机自启动

update-rc.d ssh enable

配置免密登陆

ssh-keygen -t rsa
然后根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口passphrase,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下)

执行结束以后会在/home/当前用户 目录下生成一个 .ssh 文件夹 , 其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub

ssh-copy-id 会将公钥写到远程主机的 ~/.ssh/authorized_key 文件中

ssh-copy-id name@ip

注意,windows cmd 中不能直接执行 ssh-copy-id 命令,可以使用 git bash 或者其他 linux 终端工具

当出现

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'HAHA@127.0.0.1'" and check to make sure that only the key(s) you wanted were added.

说明配置成功!

深入理解 ~/.ssh/config /etc/ssh/ssh_config 配置文件 - 百度开发者中心

错误与解决方法

警告:远程主机标识已更改!

此报错是由于远程的主机的公钥发生了变化导致的。 ssh 服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key,记录在 ~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh 就会核对公钥,如果和上次记录的不同,OpenSSH 会发出警告。

解决方法
ssh-keygen -R XX.XX.XX.XX 
ssh -6 user@ipv6

conda

conda 换地址

清华镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

按照你系统的架构选择合适的下载

uname -m
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_24.7.1-0-Linux-aarch64.sh

下载后执行得到的文件

bash Miniconda3-py39_24.7.1-0-Linux-aarch64.sh

一路点 enter yes,最后重启终端,得到带有(base)的提示符,说明安装成功

如果出现了错误,有可能是因为使用的是‵sh` 的原因。

进入

vi Miniconda3-py39_24.7.1-0-Linux-aarch64.sh

把第一行从 ‵#!/bin/sh` 改成

#!/bin/bash

node

使用 fishros 进行安装

npm install --global yarn
yarn --version

坚果云

参考帖子 记录 Ubuntu22.04 安装坚果云 感谢

wget https://www.jianguoyun.com/static/exe/installer/nutstore_linux_src_installer.tar.gz
sudo tar zxf nutstore_linux_src_installer.tar.gz
cd nutstore_linux_src_installer
sudo ./update-toolchain.sh

这里我报错了,少一个库

没搞明白,就全装了

sudo aptitude install libnautilus-extension4
sudo aptitude install libnautilus-extension1a
sudo aptitude install libnautilus-extension-dev
sudo ./configure
sudo make
sudo make install
download other things
./runtime_bootstrap

直接按 1

坚果云 linux 命令行 • Worktile 社区

webDAV 的使用

用命令行在 Linux 同步坚果云 | Practice

登录坚果云账号
nutstore login
退出坚果云账号
nutstore logout
查看当前已经同步的文件和文件夹
nutstore list sync
同步指定的文件或文件夹
nutstore sync <文件或文件夹路径>
取消同步指定的文件或文件夹
nutstore unsync <文件或文件夹路径>
查看同步状态
nutstore status
上传文件或文件夹到坚果云
nutstore upload <文件或文件夹路径>
下载文件或文件夹
nutstore download <文件或文件夹路径>
删除坚果云上的文件或文件夹
nutstore delete <文件或文件夹路径>
创建文件夹
nutstore mkdir <文件夹路径>
查看文件或文件夹的详细信息
nutstore info <文件或文件夹路径>
查看账号信息
nutstore account
查看帮助信息
nutstore help

wechat

Weixin for Linux

typora

参考 Ubuntu22.04 环境下使用 Typora_typora ubuntu-CSDN 博客 WittonBell/typoraCracker: A patch and keygen tools for typora.

官网教程
wget -qO - https://typora.io/linux/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/typora.asc
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt update
# install typora
sudo apt install typora

我下载的二进制文件,没有用这个

picgo

Molunerfinn/PicGo🚀A simple & beautiful tool for pictures uploading built by vue-cli-electron-builder

cd Picgo


```shell
npm i @vue/cli-service

ubuntu PicGo 安装和腾讯云图床配置,超详细!!!-CSDN 博客

todesk

ToDesk 远程桌面软件 - 免费安全流畅的远程连接电脑手机

sudo apt-get install libappindicator3-1

sudo apt-get install ./todesk-v4.7.2.0-arm64.deb
todesk

jupyter

pip install jupyter jupyterlab
sudo reboot
生成配置文件
jupyter lab --generate-config

设置开机启动

sudo vim /etc/systemd/system/jupyter-lab.service
[Unit]
Description=Jupyter Lab Server
After=network.target

[Service]
Type=simple
User=usslab
WorkingDirectory=/home/<name>/
ExecStart=/<path>/jupyter-lab --port 8888 --no-browser

[Install]
WantedBy=multi-user.target
启动服务
sudo systemctl enable jupyter.service
sudo systemctl start jupyter.service
检查服务
sudo systemctl status jupyter.service

访问 localhost:8888即可看到,如果有公网的 ip 也可以访问到

新立得

sudo apt install -y synaptic

nano

常见操作

操作 快捷键
保存 Ctrl + O
退出 Ctrl + X
删除 Ctrl + K

网络

VPN

linux install clash

uname -a

如果输出包含 x86_64 使用下面命令安装 :

wget https://github.com/clashdownload/Clash_for_Windows/releases/download/0.20.39/Clash.for.Windows-0.20.39-x64-linux.tar.gz

如果输出包含 aarch64 使用下面命令安装 :

wget https://github.com/clashdownload/Clash_for_Windows/releases/download/0.20.39/Clash.for.Windows-0.20.39-arm64-linux.tar.gz

如果 wget 下载不了,到 Windows 把这两个链接输进去下载好,再用 u 盘拷贝到你的 Linux 系统也是一样的。

找到你下载的安装包,解压提取,打开文件夹,里面有一个 cfw 文件,双击就是 Clash 了。如果不行,请在该文件夹内打开终端,使用./cfw命令执行它。

进入网络设置,把 proxy 改成这个样子

终端走代理
export http_proxy=http://your_proxy_server:your_proxy_port
export https_proxy=http://your_proxy_server:your_proxy_port

连接 wifi

sudo vim /etc/netplan/50-cloud-init.yaml
network:
  ethernets:
    enp2s0:
      dhcp4: true
  wifis:
    wlan0:
      dhcp4: true
      access-points:
        "<ssid>":
          password: "<passowrd>"
  version: 2

设置好之后退出,重启网络

sudo netplan apply

1. 该编辑文件中不能出现制表符,要不然会有问题;在执行后面的命令会报错;

2. 改文件的编辑必须严格按照格式来,是分层的,用空格来退格

启动 netplan-wpa-wlan0.sevice 失败:未找到单元 netplan-wpa-wlan0.service - ubuntu

注意事项

出现类似错误:line8 column 6:cloud not find expected 提示是冒号:后面没加空格

出现类似错误:netplan found character that cannot start any token,提示是没有按五个层次写配置文档,一定要下一层比上一层多空一格或以上。

出现类似错误: Invalid YAML: inconsistent indentation: # 缩进不对,就是每一层没有严格缩进

sudo apt install net-tools wireless-tools network-manager

校网验证

net2.zju.edu.cn

QSCTech/zjunet: Command Line Scripts for ZJU (VPN / WLAN / DNS)

w3m 之类的命令行浏览器试试

比较简单的 ubuntu 18.04 有线连接校园网的方法 - CC98 论坛

路由

静态路由

Linux 配置静态 IP

内网穿透

校园网内登录寝室电脑远程桌面和 ssh 连接 WSL - 知乎 干货 | 在校园网中用ssh连接宿舍电脑

压缩

递归压缩
zip -r examples.zip examples   # examples为目录
解压缩
unzip name.zip
目录路径来指明压缩包所在的位置
unzip name.zip -d 当前目录
如果是压缩包是 .tar 后缀
tar xvf name.tar 

复制 scp

关于 scp 传输文件踩过的坑 ( 最全 !linux windows 相互传输文件 , 连接失败 , 免密登录 , 连接超时 ) - 知乎

基本语法

scp [可选参数] 源文件 目标文件
# 复制文件
scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file

# 复制目录
scp -r local_folder remote_username@remote_ip:remote_folder
  • -r: 递归复制整个目录
  • -P port: 指定远程主机的端口号
  • -p: 保留原文件的修改时间和访问权限
  • -q: 不显示传输进度条
  • -C: 允许压缩
  • -v: 详细方式显示输出

示例

# 复制本地文件到远程服务器
scp file.txt user@192.168.1.100:/home/user/

# 复制远程文件到本地
scp user@192.168.1.100:/home/user/file.txt ./

# 复制整个目录
scp -r local_folder user@192.168.1.100:/home/user/

# 使用特定端口
scp -P 2222 file.txt user@192.168.1.100:/home/user/

局域网

apt-get install -y cifs-utils

windows 做服务器

windows 上共享文件夹

windows 作客户端

如果你是没有打开 smb 服务,那么继续往下看,打开控制面板进入

点击“启用或关闭 windows 功能”

smb 的几个都点开,然后点击确定,立即重启

然后直接在 explorer 中输入 ip 地址即可。

注意输入的格式: - 不是smb://156.26.51.55 - 而是应该直接双斜杠+ip地址,如果有具体的共享的文件夹的话就把路径跟在后面。不需要加smb前缀,也不能用 // ,要用 \\,然后输入对应的账户和密码就完事了。

window10 使用 smb 连接远程电脑的文件夹 [ 打开 smb 服务和连接巨坑 ]-CSDN 博客

linux 做服务器——samba

安装
sudo apt install samba
启动服务
systemctl start smbd.service

systemctl enable smbd.service

systemctl start nmbd.service

systemctl enable nmbd.service
systemctl status smbd.service
systemctl status nmbd.service
设置共享文件夹
net usershare add "共享名" /home/Desktop/文件名 "备注名" Everyone:R guest_ok=y
参数 含义
Everyone:R 设置 Everyone 用户为只读权限
Everyone:F 设置 Everyone 用户为可写权限
Everyone:D 设置 Everyone 用户为拒绝权限
guest_ok=y 允许匿名访问
guest_ok=n 不允许匿名访问
客户端侧安装
sudo apt install smbclient
使用命令登录
smbclinet //ip/name -U xxx

Linux 上挂载 SambaWindows & macOS 共享文件夹)的正确姿势 - 知乎

注意权限问题

  1. 设置了当前共享文件夹有可写权限的话,那么需要增加当前文件夹的 other 的写权限

  2. 设置了匿名访问的话需要设置当前目录以及这个目录的父目录的 other 的可执行权限

不然的话,不管使用命令访问还是使用图形界面访问都是会导致报错没有权限的问题

linux 作客户端——挂载文件系统

举例
smbclient -L 192.168.1.70 -U lab

Enter lab's password:   #输入密码,不回显
Domain=[WIN7] OS=[Windows 7] Server=[Windows 7]
   #共享点名称#      #类型#      #描述# 
    Sharename       Type      Comment
    ---------       ----      -------
    ADMIN$          Disk      远程管理
    Share               Disk      
    C$              Disk      默认共享
Connection to 192.168.1.70 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND) 
NetBIOS over TCP disabled -- no workgroup available #可能会出现一些错误警告,不过可以列出的话就不用管

//<ip>/test 挂载到 /mnt/ 目录上,如果不需要认证,则无需指定用户名和密码。

sudo mount -t cifs //<ip>/test /mnt/test_shared -o dir_mode=0777,file_mode=0777

linux mount 挂载文件夹设置权限 - 秋声梧叶 - 博客园

开机自动挂载(修改 /etc/fstab 文件

//192.168.xx.xx/sharedir挂载到/mnt/cifs上,并指定了用户名和密码 ; 如果不需要认证,可以不指定用户名和密码。

//192.168.3.4/sharedir /mnt/cifs cifs username=demo,password=demo 0 0

然后可以把/mnt/folder直接当作 linux 中的文件夹进行文件的操作

解除挂载
umount /dev/hda2

pywin32 库没有安装好 Python 如何通过 Python 访问 Windows 网络上的共享文件夹 | 极客教程

用户设置

新建用户

创建 root 用户
sudo passwd root

创建普通用户
sudo adduser username
删除用户
sudo userdel -r username
查看密码
sudo grep bash /etc/passwd

用户权限

给新用户 root 权限
sudo usermod -a -G adm username
sudo usermod -a -G sudo username

Q & A

sh: 0: getcwd() failed: No such file or directory

一般来说是因为你 cd 到了某个目录之后 rm 了这个目录,这时去执行某些 service 脚本的时候就会报 get cwd 错误。 只需要 cd 到任何一个实际存在的目录下再执行就好了

Could not load the Qt platform plugin “xcb“

经过一番深入的探索,最终找到了一个有效的解决方案,即通过以下命令安装所有与 libxcb 相关的库:

sudo apt install libxcb-*
这条命令会安装所有以libxcb为前缀的库,确保系统中所有与XCB相关的依赖项都被正确安装。这一步成功解决了Qt无法加载xcb插件的问题,程序也顺利启动并运行。这表明,问题的根源在于某些关键的XCB依赖项缺失,而通过这种“一网打尽”的方式,我们可以确保所有相关的依赖项都得到满足。

Java

.jar文件打开方式

1. 双击打开

  1. 命令行打开 x
java -jar xxx.jar
后台执行
java -jar xxx.jar &
不挂断执行
nohup java -jar test_jar-1.0-SNAPSHOT.jar &   

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

当用 nohup 命令运行 jar 包时,缺省情况下该应用的所有输出被重定向到 nohup.out 的文件中,除非另外指定了输出文件。