用了一段时间的 Linux ,感觉我有“操作系统洁癖”

2023-07-04 10:37:08 +08:00
 yolee599

一个月前把我的主力电脑系统从 Windows 换成了 ArchLinux ,桌面是 KDE Plasma 。目前使用是没什么问题,但是总有一些地方让我不爽。

1. 软件 GUI 库太多了

主要有 GTK ,Qt ,SDL2 ,通常是各种软件装完后,系统装了各种 GUI 库,感觉特别臃肿。这还是官方的包,如果再装一下 AUR 里的包,更加杂。

2. 各种库的依赖问题

这是我的一个猜测。我用 pacman -S 安装了若干个包后,再用 pacman -Rs 卸载掉之前安装的包,那也有可能卸载不干净。因为有的包是其他的包的可选依赖,一旦安装了这些可选依赖的包,那他就不算孤立的包了,也就不会被卸载,导致系统越用越臃肿。在 Windows 上我都是用 Geek Uninstaller 卸载软件,相对比较干净。

3. 安装软件的时候对文件系统的侵入性比较强

/usr//etc/~/,以及各个子路径都有侵入。在 Windows 上通常是安装到一个独立的文件夹,对文件系统的侵入比较小。

4. 做嵌入式开发不是很方便

我主要是做嵌入式开发的。有的烧录工具只有 Windows 系统的,还要装虚拟机,这个倒还好。主要是我要使用串口助手,要记录收发信息到 Log ,一键切换 HEX 和 ASCII 收发,显示时间戳,添加自定义的快捷发送,Windows 上有 SSCOM ,Linux 系统下找不到像这样的工具。

还有 ssh 工具,像 SecureCRT ,xshell 这种用起来很方便,可以保存会话的用户名和密码,双击一下就直接连上了,还能保存所有输出到日志文件,串口和网络都能用。在 Linux 下主要用 Konsole + ssh 命令,不能保存会话密码,无法保存所有输出到日志文件,要是串口 shell 还要用 minicom 命令,操作比较割裂。

9829 次点击
所在节点    Linux
86 条回复
yazinnnn
2023-07-04 11:15:17 +08:00
没有污染到用户目录的问题都不大(指在 home 目录里瞎鸡巴拉屎行为)


望着我的 home 目录下将近一百个以.开头的文件夹叹道
zzzsy
2023-07-04 11:36:36 +08:00
前三点:用 NixOS
diagnostics
2023-07-04 11:37:14 +08:00
ssh 自带密码记住的功能啊,再不济用密钥也行,alias ssh='ssh -i xxx.pem'
QWE321ASD
2023-07-04 11:37:17 +08:00
windows 的 username 下面全是各种软件的文件夹啊,和 linux 差不多吧感觉...
cooper2020
2023-07-04 11:40:36 +08:00
@yazinnnn 每个应用一个. -_-
tyrantZhao
2023-07-04 11:44:15 +08:00
跟一个 os 较啥劲
whenov
2023-07-04 11:46:30 +08:00
第二点,用 pacman -Qdttq|sudo pacman -Rns -
whenov
2023-07-04 11:47:31 +08:00
第三点,关注下 GoboLinux (我自己没试过
whenov
2023-07-04 11:49:30 +08:00
第四点,ssh 免密登录一般是用密钥,不想每次输入命令的话就用 alias ,串口工具不太清楚
whenov
2023-07-04 11:53:03 +08:00
@yazinnnn 我现在清理到只有六个哈哈哈:
.bash_profile
.bashrc
.cache
.config
.local
.mozilla
0o0O0o0O0o
2023-07-04 12:09:34 +08:00
你可以试试 NixOS
weidaizi
2023-07-04 12:14:09 +08:00
关于 1:都由包管理帮你管了,你可以列出哪些是主动安装的,哪些是被动安装的,要卸载也很方便
关于 2:如果有被依赖,当然不应该被卸载,如果想看看有什么可以真的有啥没被依赖却还在的包,可以 pacman -Qqdt
关于 3:linux 下可以选择放到公共路径下,也可以是 portable 的,一般自己丢到 /opt 下。包管理安装的一般分散在各个目录,但是有包管理来管理
关于 4:不太了解,不发表意见
x77
2023-07-04 12:33:13 +08:00
挺正常的,搞嵌入式的关注效率,对于每个 CPU 、内存、IO 都特别敏感。。。

但是这个很难管,原生应用直接和操作系统接触,最自由,各种应用都有自己的玩法,自然会这拉点那拉点。除了文件和数据存储不一样,还有看不见的系统交互( API 调用)也不一样,有的高效有低效。想要“干净”的系统和应用真的没可能。

基于虚拟机或者应用程序框架(平台)的应用好点,应用只和虚拟机或者平台打交道,这种约束力强一点,不可能到处乱拉也能干净卸载,中间层提供的 API 接口也一样的,比较“干净”,不过这类效率没原生的好能力也会受到平台的限制比如支持串口通讯的 App 就很少甚至没有,因为如果平台不支持 App 就很难搞。
vcn8yjOogEL
2023-07-04 12:43:36 +08:00
一般软件可以用 Flatpak 和 Podman 容器,侵入性较低
adoal
2023-07-04 12:44:08 +08:00
关于 3 ,请认真阅读 Filesystem Hierarchy Standard 以及你所用发行版的 packaging guide ,了解这样做的理念。

当然,你可以不同意。但人家这样设计是有原因的,而不是乱搞。

你自己编译安装的话,一般默认就是你喜欢的 ./configure --prefix=/some/prefix/that/everything/goes/on
CEBBCAT
2023-07-04 12:46:10 +08:00
如果你不理解它,可以先习惯它
mokiki
2023-07-04 12:49:04 +08:00
1 和 2 两个问题用 Gentoo 可解
e7
2023-07-04 12:55:09 +08:00
学会忽略这些你认为的“乱七八糟”,专注于工作本身,占不了多少空间的,善用搜索
garywill
2023-07-04 13:00:27 +08:00
串口工具 linux 有 cutecom
wlh233
2023-07-04 13:04:26 +08:00
你用 Konsole 的话,Ctrl + Shift + S, Save output to file
Ctrl + Shift + F2, SSH manager, 只不过功能简单,只是个 .ssh/config 的 GUI

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/953897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX