瓶子家族

记录生活中的点滴

rocky8安装EDA开发环境,基于lxd容器环境

远程开发环境配置

新增用户adduser xxx, passwd xxx, su xxx

安装tigervncsudo dnf install tigervnc-server -y

安装xfce

1
2
3
sudo dnf install epel-release -y
sudo dnf config-manager --set-enabled powertools
sudo dnf groupinstall "Xfce" -y

配置vnc

1
2
3
4
5
6
7
8
9
10
vi /etc/tigervnc/vncserver.users
:3=chenqp
vncpasswd
vi ~/.config/tigervnc/config
session=xfce
geometry=1920x1080
alwaysshared
localhost=no
securitytypes=vncauth,tlsvnc
sudo systemctl enable vncserver@:3

设置proxy影响端口

1
lxc config device add rock rocky-vnc-proxy proxy listen=tcp:0.0.0.0:5903 connect=tcp:127.0.0.1:5903

将rocky设置成特权模式

开启特权模式(核心命令)

1
lxc config set rocky security.privileged true

可选:开启嵌套功能(图形桌面更稳定)

1
lxc config set rocky security.nesting true

挂载共享目录到rocky

1
2
3
lxc config device add rocky share disk \
path=/mnt/share \
source=/home/xxx/EDA

宿主机为ubuntu 22.04 jammy, 客户机为lxd container centos stream 9

tigervnc vnc方案

方案一:libvnc.so可以共享物理机屏幕,可以做到vnc登录lightdm(gdm方案有问题,gdm登录后,vnc断连,网上说是因为gdm登录后会kill掉当前xorg,再新建xorg)但是刷新性能有问题,后续可尝试x0vncserver方案

方案二:x0vncserver方案,需要本地物理机gdm登录后,才能vnc登录,未尝试

方案三:就是虚拟桌面方案,下文中lxd和宿主机尝试的方案,受限主要是不能在物理机上登录同一个用户桌面,只能vnc登录和桌面级登录分别两个用户

使用LXD安装centos容器,并配置vnc访问

关闭selinux

1
2
vi /etc/selinux/config
SELINUX=disabled

关闭防火墙

1
2
sudo systemctl stop firewalld
sudo systemctl disable firewalld

强制切换到xorg

1
2
sudo vim /etc/gdm3/custom.conf
WaylandEnable=false

安装tigervnc

1
sudo dnf install tigervnc-server -y

配置vncserver用户:在 /etc/tigervnc/vncserver.users中指定运行VNC的用户和显示编号,vnc连接端口号为5902

1
2
vi /etc/tigervnc/vncserver.users
:2=chenqp

配置vnc密码,注意跟用户密码不是一回事,是在vncview连接时输入的密码。输入vncpasswd

vnc配置产生

方法一:在~/.vnc/目录下新增配置文件config(更推荐)

1
2
3
4
5
session=gnome
geometry=1920x1080
alwaysshared
localhost=no
securitytypes=vncauth,tlsvnc

方法二:在/etc/tigervnc/vncserver-config-defaults配置文件中添加以下几行

1
2
3
session=gnome
geometry=1920x1080
alwaysshared

设置systemd开机启动任务sudo systemctl enable vncserver@:2

重启centossudo reboot

宿主机配置

1
lxc config device add centos vnc-proxy proxy listen=tcp:0.0.0.0:5902 connect=tcp:127.0.0.1:5902

宿主机与客户机共享目录

给宿主机设置成特权容器lxc config set centos security.privileged true

在宿主机上创建共享目录mkdir -p /home/xxx/share

将共享目录设置给客户机lxc config device add centos share-dir disk source=/home/xxx/share path=/mnt/share

宿主机ubuntu自身vnc安装

基本上步骤等同于centos安装,区别在systemd启动开机任务配置sudo systemctl enable tigervncserver@:2,注意端口号要与lxd容器centos的端口号区分开

宿主机笔记本合盖不休眠,背光关闭,WiFi不断连配置

修改笔记本电源配置

1
2
3
4
5
6
7
8
sudo vim /etc/systemd/logind.conf
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
LidSwitchIgnoreInhibited=no
sudo systemctl restart systemd-logind
gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action blank
gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action blank
gsettings set org.gnome.desktop.session idle-delay 60 #空闲时自动关屏(建议1分钟)

修改networkmanager的WiFi节能配置

1
2
3
4
5
sudo tee /etc/NetworkManager/conf.d/wifi-powersave-off.conf >/dev/null <<EOF
[connection]
wifi.powersave=2
EOF
sudo systemctl restart NetworkManager

修改iwlwifi驱动配置/etc/modprobe.d/iwlwifi.conf

1
2
3
4
5
6
7
8
9
# iwlwifi will dyamically load either iwldvm or iwlmvm depending on the
# microcode file installed on the system. When removing iwlwifi, first
# remove the iwl?vm module and then iwlwifi.
remove iwlwifi \
(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \
&& /sbin/modprobe -r mac80211
options iwlwifi 11n_disable=0
options iwlwifi swcrypto=1
options iwlwifi power_save=0

修改WIFI连接,只连2.4G网络。之前WiFi断连的主要原因是,5G频段在移门遮挡后信号就降低10db以上,然后就切换到2.4G,但是后续还会继续尝试连接5G信号,然后循环掉到2.4G,尝试多次后就进入低功耗状态不再尝试连接。也试过固定连接5G频段,但是信号差了以后,WiFi显示连接上,但是网络不通,信号好了以后也不自动恢复。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
sudo nano /etc/NetworkManager/system-connections/xxx.nmconnection
[connection]
id=WiFi的bssid
uuid=86c2f162-2ebd-4b38-ad5f-6e5f2582fa22
type=wifi
interface-name=wlp1s0

[wifi]
mode=infrastructure
ssid=WiFi的bssid
band=bg
bssid=82:xx:xx:xx:xx:xx

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=WiFi密码

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[proxy]

命令行查看目前WiFi连接的状态iw dev wlp1s0 link,wlp1s0为WiFi接口名

VNC客户端

推荐tigervnc-vncviewer,可以支持分辨率自适应

直接在宿主机上访问lxd容器图形界面的方式

共享宿主机xorg接口的方式

宿主机执行xhost +local:root

配置容器
映射 UID/GID(关键)

1
lxc config set gui-app raw.idmap "both 1000(UID) 1000(GID)"

挂载 X11 套接字(让容器能画到宿主机屏幕)

1
2
3
lxc config device add 容器名 X0 disk \
path=/tmp/.X11-unix/X0($SIPLAY) \
source=/tmp/.X11-unix/X0($DISPLY)

可选:挂载声卡(让容器有声音,没有试过)

1
2
3
lxc config device add gui-app pulse disk \
path=/run/user/1000/pulse \
source=/run/user/1000/pulse

重启生效

1
lxc restart gui-app

容器中安装GUI程序测试

1
lxc exec 容器名 -- apt install gedit -y

运行容器中的GUI程序

1
lxc exec 容器名 -- gedit

使用ssh -x转发x绘图到宿主机,需要容器和宿主机都是xorg效果还行,图形弹出速度没有共享宿主机xorg接口的方式快

在Ubuntu系统中,通过配置Zsh和Oh My Zsh框架可以显著提升终端的使用体验。本文将详细介绍安装Zsh、配置Oh My Zsh框架、选择主题和安装插件的完整步骤。
安装Zsh
更新软件包列表
sudo apt update
安装Zsh
sudo apt install zsh -y
验证安装
zsh –version
设置为默认Shell(可选)
chsh -s $(which zsh)
重启系统或重新登录后生效
安装Oh My Zsh
Oh My Zsh是一个开源的Zsh配置管理框架,提供丰富的主题和插件支持。
通过curl安装
sh -c “$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”
通过wget安装
sh -c “$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”
手动安装
curl -Lo install.sh https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
安装脚本会自动备份原有的.zshrc文件(如果存在)
配置主题
Oh My Zsh支持多种主题,推荐使用Powerlevel10k或Agnoster。
安装Powerlevel10k主题
git clone –depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

修改配置文件
编辑~/.zshrc,将ZSH_THEME设置为:

ZSH_THEME=”powerlevel10k/powerlevel10k”

应用配置
source ~/.zshrc

首次运行会启动配置向导,按需选择样式;后续可通过p10k configure重新配置

其他主题推荐

Agnoster:适合服务器管理。
Spaceship:适合前端/全栈开发。
Starship:支持多Shell环境1
。

安装插件

Oh My Zsh的插件可增强终端功能,如自动补全、语法高亮等。
安装自动补全插件
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

安装语法高亮插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

编辑配置文件
在~/.zshrc中修改plugins数组,例如:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting docker)

应用配置
source ~/.zshrc

其他优化
历史命令优化
/.zshrc中添加:
HISTFILE=
/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory
setopt share_history
setopt hist_ignore_all_dups

别名设置

在~/.zshrc中添加常用别名:

alias ll=’ls -alF’
alias update=’sudo apt update && sudo apt upgrade -y’

启用颜色支持
echo ‘export CLICOLOR=1’ >> ~/.zshrc
echo ‘export LS_COLORS=”di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43”‘ >> ~/.zshrc

应用配置
source ~/.zshrc

恢复Bash(可选)

如果需要切换回Bash:
临时切换
bash

永久切换
chsh -s $(which bash)

注意事项

插件过多可能影响启动速度,建议按需安装。
主题选择需配合字体安装(如MesloLGS NF)以避免显示乱码1

基于ubuntu 24.04系统

备份整个 Ubuntu 系统

把整个系统打包成一个.tar.gz文件,存到/backup

1
2
3
4
5
6
7
8
9
10
11
12
sudo mkdir -p /backup
sudo tar -cvpzf /backup/ubuntu_vps_backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \
--exclude=/backup \
--exclude=/var/cache \
--exclude=/var/tmp \
/

从远程vps将备份下载到本地

1
rsync -avzP -e "ssh -p 2222" chenqp@bottlefamily.cn:/backup/ubuntu_vps_backup.tar.gz /mnt/ext4/vps_backup

将本地备份上传到vps

1
rsync -avzP /mnt/ext4/vps_backup/ubuntu_vps_backup.tar.gz -e "ssh -p 2222" chenqp@bottlefamily.cn:/backup/ 

使用备份恢复系统

1
2
sudo tar -xvpzf /backup/ubuntu_vps_backup.tar.gz -C /
sudo reboot

按照下面步骤尝试过,失败原因未知

1、固件5.4.4:https://s3.amazonaws.com/G7G_FirmwareUpdates_WebDownloads/update_kindle_5.4.4.bin
2、固件5.6.1.1:
https://s3.amazonaws.com/G7G_FirmwareUpdates_WebDownloads/update_kindle_5.6.1.1.bin
3、越狱插件:https://storage.gra.cloud.ovh.net/v1/AUTH_2ac4bfee353948ec8ea7fd1710574097/mr-public/Touch/kindle-jailbreak-1.16.N-r19426.tar.xz
4、证书更新包:
https://www.mobileread.com/forums/showpost.php?p=4506164&postcount=1295去这个帖子下载。
5、MRPI:
https://storage.gra.cloud.ovh.net/v1/AUTH_2ac4bfee353948ec8ea7fd1710574097/mr-public/KUAL/kual-mrinstaller-1.7.N-r19303.tar.xz
6、KUAL:
https://storage.gra.cloud.ovh.net/v1/AUTH_2ac4bfee353948ec8ea7fd1710574097/mr-public/KUAL/KUAL-v2.7.37-gfcb45b5-20250419.tar.xz
操作顺序是:
1、确保机器当前固件版本是5.4.4,不是这个版本的降级或者升级到这个版本。
2、越狱,就是插件放根目录,然后设置点更新,机器底部出现:JAIL BREAK 字样即可。
3、证书更新包里,解出Update_mkk-20250419-k5-ALL_keystore-install,放根目录,设置点更新,等重启。
4、MRPI,解压,放根目录。
5、KUAL,解出KUAL-KDK-2.0.azw2,放documents文件夹。
6、这个时候点KUAL还是会提示证书过期错误,只需要更新固件5.6.1.1,就齐活了。固件包放根目录,更新不用教了吧。
接下来就是传统环节,装koreader(记得换汉化的menu.json),装kpvbooklet关联格式,装filebrowser无线传书。
需要傻瓜式细节指导的,建议移步书伴(https://bookfere.com/post/512.html)。
另外,论坛上有个心细如发的老哥问下次证书什么时候过期,好有个心理准备,突然看不了书太让人抓狂了,然后技术佬回复说是这次能到2099年,放心干吧,人走机器在。

0%