Skip to content

Commit

Permalink
update site
Browse files Browse the repository at this point in the history
  • Loading branch information
suoyuan666 committed Apr 26, 2024
1 parent ba971f2 commit 1cc27e5
Showing 3 changed files with 63 additions and 18 deletions.
34 changes: 23 additions & 11 deletions src/content/blog/distroIntro.md
Original file line number Diff line number Diff line change
@@ -22,17 +22,21 @@ description: "介绍了大部分主流发行版"

如果你并不是虚拟机安装Linux发行版的话,我认为应该还是要思考该类系统是否符合你的需求再说,当然如果你并不在意就当我没说。

现在来说,NVIDIA显卡驱动在Wayland桌面协议下的使用还有一堆事情,你会发现night light不可用,屏幕色温你根本无法调节。已知现在Linux发行版中能选择的桌面协议要么是之前的X11,要么是Wayland,其中X11是之前搞的,Wayland是新项目旨在取代X11,所以Wayland中存在XWayland去运行只支持X11的应用,但是这样Wayland带来的一些特性是不能很好的体验到的(比如Wayland较X11要安全一些)。如果你用的NVIDIA显卡,而且如果是新卡的话大概率使用nvidia-driver这个NVIDIA官方提供的闭源驱动,那么Wayland下并不能完美的运行XWayland模拟的应用。
现在来说,NVIDIA显卡驱动在Wayland桌面协议下的使用还有一堆事情,~~ 你会发现night light不可用,屏幕色温你根本无法调节~~ (目前已经可以调节了)。已知现在Linux发行版中能选择的桌面协议要么是之前的X11,要么是Wayland,其中X11是之前搞的,Wayland是新项目旨在取代X11,所以Wayland中存在XWayland去运行只支持X11的应用,但是这样Wayland带来的一些特性是不能很好的体验到的(比如Wayland较X11要安全一些)。如果你用的NVIDIA显卡,而且如果是新卡的话大概率使用nvidia-driver这个NVIDIA官方提供的闭源驱动,那么Wayland下并不能完美的运行XWayland模拟的应用。

现在还不支持HDR,浏览器对硬件解码的支持也不是很好,NVIDIA有自己的一套,其他显卡用另一套,其中FireFox还支持了一些硬件解码,Chromium内核的浏览器目前仍然处于实验状态,ChromiumOS和其他Linux发行版的文档会有说明可以尝试添加哪些参数启用这个功能。Chromium内核的浏览器默认还不是Wayland,如果你启用了会发现Fcitx5突然不好使了,解决方案也是有的,可以去看Fcitx5的文档。Chromium内核的软件的缩放还有点问题(启用了Wayland之后)。
下边这段关于NVIDIA的XWayland显示同步的内容写于2024年4月26日

我不好评价GNU/Linux玩游戏会是怎样的体验,不过Valve公司基于wine搞了一个[Proton](<https://en.wikipedia.org/wiki/Proton_(software)>),只要在steam play中勾选为所有应用启用Steam play就可以玩那些只支持Windows平台的游戏了,但不好评价是否能一定起作用,Steam Deck上搭载的系统Steam OS是基于Arch Linux做的,所以游戏方面也不至于那么难绷。有个非官方的网站[protondb](https://www.protondb.com/),可以在这上面搜索一下特定游戏的评价,有玩家会在上面分享这个游戏运行起来的体验如何,如果是不太好运行的游戏,也许还会分享他们是如何让这个游戏跑起来的。
NVIDIA已经提交了XWayland显示同步的相关补丁,主流的桌面环境已经合并相关补丁,等到NVIDIA发布560版本的驱动应该就可用了。

现在还不支持HDR,浏览器对硬件解码的支持也不是很完美, NVIDIA有自己的一套,其他显卡用另一套 (nvidia-libva-drover可以让NVIDIA的NVDEC以VAAPI解码,但只支持解码,编码尚不支持,编码的话就还是用NVDEC了),其中FireFox还支持了VAAPI,但不支持NVDEC(貌似),Chromium内核的浏览器目前仍然处于实验状态,而且也是支持的VAAPI,ChromiumOS和其他Linux发行版的文档会有说明可以尝试添加哪些参数启用这个功能。Chromium内核的浏览器默认还不是Wayland。

我不好评价GNU/Linux玩游戏会是怎样的体验,不过Valve公司基于wine搞了一个[Proton](<https://en.wikipedia.org/wiki/Proton_(software)>),只要在Steam Play中勾选为所有应用启用Steam Play就可以玩那些只支持Windows平台的游戏了,但不好评价是否能一定起作用,Steam Deck上搭载的系统Steam OS是基于Arch Linux做的,所以游戏方面也不至于那么难绷。有个非官方的网站[protondb](https://www.protondb.com/),可以在这上面搜索一下特定游戏的评价,有玩家会在上面分享这个游戏运行起来的体验如何,并且还有给出他运行这个游戏的发行版的相关信息,如果是不太好运行的游戏,也许还会分享他们是如何让这个游戏跑起来的。

国内软件的适配还不是很好,听说腾讯会议虽然支持了Wayland,但是Wayland下的运行,窗口分享和摄像头都不能正常工作。QQ虽然存在Linux平台的版本,但仍然有一些小问题等待修复。微信则是根本没有相应的版本,大体上办法只有两种:搞个Windows的虚拟机运行微信,如果是VirtualBox或者VMWare这样的虚拟机管理软件直接开剪切板共享什么的,或者原生态一点就自己装spice驱动也可以,但还是不太贴合正常用户日常的使用,而且一整个虚拟机的占用也是有点难绷;还有就是用wine去模拟Windows的微信,直接上来就`wine wechat.exe`这样的其实并不能完美的运行,会有很多小问题,这时候就可以参考别人的项目,但貌似还是天生存在一些小问题无法解决——wine的微信不允许你传大于1MB的图片,并且小程序也用不了。

更新于2024年3月初:wechat for linux已经有原生的实现了,目前看来还不错,就是默认情况下只能被UOS还是哪几位国产操作一些小功能还是欠缺的,我一直认为对消息的回复是个很有必要的功能,但是目前我只看到了复制转发和删除,和linuxqq一样(悲)。

更多的可以参考我新写的一篇文章:[为什么你应该(不)使用GNU/Linux作为日用操作系统](../whywinorlinux/)
更多的可以参考我新写的一篇文章:[为什么你应该(不)使用GNU/Linux作为日用操作系统](../whywinorlinux/)

---

@@ -48,7 +52,7 @@ description: "介绍了大部分主流发行版"

官网链接:https://www.debian.org/

老牌OS了,在我认知中比Debian历史更加久远的应该就是Slackware。不过我本机没装过,虚拟机装过。我在安装Kali Linux的时候遇到了no-free firmware的问题,听别人讲貌似Debian Linux也会出现,不过这也是有些解决办法的,而且firmware这个检测是在对磁盘操作之前,不行了就不装这个系统,全身而退。Debian听说就是稳定,其实稳定就带来了使用的不是新版本的软件,毕竟时间方面,新版本没有经历过考验。不过听说如果给Debian添加一个testing软件源就可以尝鲜新版本了。说起来,虚拟机安装Debian Linux和Kali Linux的时候无论给多少内存(当然也就给过4G 8G的)默认都是把磁盘空间的1G给交换空间,剩下的是空间挂载到根目录,感觉很扯淡。
老牌OS了,在我认知中比Debian历史更加久远的应该就是Slackware。不过我本机没装过,虚拟机装过。我在安装Kali Linux的时候遇到了no-free firmware的问题,听别人讲貌似Debian Linux也会出现,不过这也是有些解决办法的,而且firmware这个检测是在对磁盘操作之前,不行了就不装这个系统,全身而退。Debian听说就是稳定,其实稳定就带来了使用的不是新版本的软件,毕竟时间方面,新版本没有经历过考验。不过听说如果给Debian添加一个testing软件源就可以尝鲜新版本了。

---

@@ -68,8 +72,6 @@ Debian Linux应该是随版本更新,不过貌似testing软件源可以让它

图为Debian 12下的GNOME桌面。

Debian默认安装了libreoffice,我对这个软件没什么意见,这个office软件我感觉好像没有特别完美的兼容性。

#### Ubuntu Linux

官网链接:https://ubuntu.com/
@@ -84,11 +86,13 @@ Debian默认安装了libreoffice,我对这个软件没什么意见,这个off

Ubuntu认知中是随版本更新。

但我说实话,我一直不认为安装Ubuntu作为自己的日用操作系统是个什么好主意,因为在我看来它只有一个好的地方——对安全启动的支持还不错。如果是虚拟机安装就当我没说,虚拟机安装主要为了方便,能快点装完开始干活就好。

#### Kali Linux

官网链接:https://www.kali.org/

基于Debian testing源的Kali Linux安装界面类似Debian的系统安装界面,我曾经尝试给我的笔记本安装Kali Linux,但是体验不是很好,因为我卡在了no-free firmware,导致网络无法使用(悲),解决办法还是有的,我看Kali论坛上有人提出下载好对应的firmware再移动到系统安装盘内,不过我懒的整了。Kali Linux是否是一个可日用的操作系统,我无法评价(因为我没试过),不过对于一些做CyberSecurity方面的人来说,也许Kali Linxu对他们的诱惑还是有的,这里我想说它对你的诱惑如果仅仅是默认自带的那些配置好的软件的话,大可不必,自己配置不会花太多时间(毕竟都想在真机上折腾Linux了\[doge\])。Kali Linux对DE做了美化,我认为美化的还是不错的。有一点值得说一下,Kali Linux不需要更换软件源的网址,大多数GNU/Linux发行版因为网络问题都需要更换软件源,除了国内公司搞的(比如Deepin/UOS或者openKylin之类)或者Kali Linux、OpenSUSE Linux,其他的貌似都得换源。
基于Debian testing源的Kali Linux安装界面类似Debian的系统安装界面,我曾经尝试给我的笔记本安装Kali Linux,但是体验不是很好,因为我卡在了no-free firmware,导致网络无法使用(悲),解决办法还是有的,我看Kali论坛上有人提出下载好对应的firmware再移动到系统安装盘内,不过我懒的整了。Kali Linux是否是一个可日用的操作系统,我无法评价(因为我没试过),不过对于一些做CyberSecurity方面的人来说,也许Kali Linxu对他们的诱惑还是有的,这里我想说它对你的诱惑如果仅仅是默认自带的那些配置好的软件的话,大可不必,自己配置不会花太多时间(如果是虚拟机安装当我没说)。Kali Linux对DE做了美化,我认为美化的还是不错的。有一点值得说一下,Kali Linux不需要更换软件源的网址,大多数GNU/Linux发行版因为网络问题都需要更换软件源,除了国内公司搞的(比如Deepin/UOS或者openKylin之类)或者Kali Linux、OpenSUSE Linux,其他的貌似都得换源。

如果是为了那些软件的话,有一些发行版有针对CyberSecurity的衍生发行版,比如Arch Linux有个[BlackArch](https://www.blackarch.org/),其搞了很多相关的工具,在Arch Linux上加个blackarch源就行了。

@@ -126,6 +130,8 @@ Deepin操作系统作为我国国产的操作系统,我自然是要体验一
上面这段摘自[维基百科对wine的介绍](https://zh.wikipedia.org/wiki/Wine)

目前使用Deepin这类国内公司发行的GNU/Linux发行版应该还有一个好处 —— Linux版本的微信目前只支持这些发行版。

![Deepin_with_20.9](../img/introdistro/DEEPIN_DDE_20_9.jpg)

Deepin应该是随版本更新。
@@ -154,6 +160,8 @@ Fedora Linux我没有本机安装过,不知道怎么样。作为一个商业

Fedora 39搭载的是GNOME 45,Terminal用的是gnome-terminal,我认为还是不错的,gnome-console这个Terminal可设置选项太少了(泪目)

Fedora默认会开lzo算法的zram,我不理解作为一个较为激进的发行版为什么不选择zstd算法来压缩。

Fedora Linux是随版本更新。

### Arch系
@@ -206,7 +214,7 @@ Gentoo系使用emerge软件包管理器,软件大多都是从源码开始安

官网链接:https://www.gentoo.org

Gentoo Linux的软件版本相较于Arch Linux没有那么新,而且对国内用户的支持没有那么友好,只有gentoo官方源才有镜像源,官方网站上还只有三个,实际上不止有三个,我比较推荐不在那三个之列的中科大源。~~Gentoo官方软件仓库没有fcitx5(如果你不知道fcitx5是什么,我会在DE介绍那里说一下),要用的话推荐添加gentoo-zh软件仓库安装fcitx5~~(现在Gentoo Linux的官方软件仓库已经有fcitx5及其周边软件了),其他一些国内软件gentoo-zh仓库也有收录,由于这个仓库是在GitHub上的,所以需要解决了网络问题才能同步最新gentoo-zh的软件信息。信安软件方面,有个基于Gentoo的叫Pentoo的OS,可以添加pentoo的软件仓库安装Gentoo软件仓库没有的信安这一块的软件。
Gentoo Linux的软件版本相较于Arch Linux没有那么新,而且对国内用户的支持没有那么友好,只有gentoo官方源才有镜像源,官方网站上还只有三个,实际上不止有三个,我比较推荐不在那三个之列的中科大源。~~Gentoo官方软件仓库没有fcitx5(如果你不知道fcitx5是什么,我会在DE介绍那里说一下),要用的话推荐添加gentoo-zh软件仓库安装fcitx5~~(现在Gentoo Linux的官方软件仓库已经有fcitx5及其周边软件了),其他一些国内软件gentoo-zh仓库也有收录,由于这个仓库是在GitHub上的,所以需要解决了网络问题才能同步最新gentoo-zh的软件信息。

Gentoo Linux的安装并不完全依赖于它的安装介质,比如我是使用Arch Linux的系统安装盘去装的Gentoo。

@@ -252,7 +260,7 @@ NixOS提供两种安装方式——图形化安装和手动安装。图形化安

NixOS不遵守FHS标准,所以正常的chroot也不好进去,使用它们自己提供的程序即可,我记得是叫做`nix-enter`

NixOS的flakes和home-manager结合可以更好的声明你的系统配置,很多东西都可以用这些声明文件自动生成。但是现在的问题是文档质量不足,太多的东西都需要直接看nixpkgs中的源代码,虽然现在有[NixOS Search](https://search.nixos.org/options)[MyNixOS](https://mynixos.com/)可以搜索相关的部分细节,但也仅限于option。如果要全面的了解还是需要看对方的打包源码是怎么写的
NixOS的flakes和home-manager结合可以更好的声明你的系统配置,很多东西都可以用这些声明文件自动生成。但是现在的问题是文档质量不足,太多的东西都需要直接看nixpkgs中的源代码,虽然现在有[NixOS Search](https://search.nixos.org/options)[MyNixOS](https://mynixos.com/)可以搜索相关的部分细节,但也不是很够。如果要全面的了解还是需要去看源码是怎么写的

---

@@ -264,7 +272,11 @@ NixOS的flakes和home-manager结合可以更好的声明你的系统配置,很

> 桌面环境将各种组件捆绑在一起,以提供常见的图形用户界面元素,如图标、工具栏、壁纸和桌面小部件。此外,大多数桌面环境包括一套集成的应用程序和实用程序。最重要的是,桌面环境提供了他们自己的窗口管理器,然而通常可以用另一个兼容的窗口管理器来代替。
桌面环境我只浅谈一下KDE Plasma, GNOME和xfce。我在下面谈到了对Wayland的支持问题,如果你是NVIDIA独显驱动用户的话,GNOME是禁用Wayland的,KDE plasma不禁用。如果你要使用Wayland,输入法框架方面就不能选择fcitx,只能选择fcitx5了。ibus我没用过,不知道怎么样。我一直是fcitx5用户(逃)。我引入了输入法框架这个名词,但是没有太多解释,我这里就放一个[Arch zhWiki中输入法条目的链接](https://wiki.archlinuxcn.org/wiki/%E8%BE%93%E5%85%A5%E6%B3%95)。当然,各家DE都是有美化的空间的,具体你可以去搜一搜相关的美化教程,我本人是懒得做这些事情,所以也就没什么好说的了。
桌面环境我只浅谈一下KDE Plasma, GNOME和Xfce。我在下面谈到了对Wayland的支持问题,如果你是NVIDIA独显驱动用户的话,GNOME是禁用Wayland的,KDE plasma不禁用。

如果你要使用Wayland,输入法框架方面就不能选择fcitx,只能选择fcitx5了。~~ ibus我没用过,不知道怎么样。我一直是fcitx5用户(逃)~~ ibus直接装就是支持Wayland的。我引入了输入法框架这个名词,但是没有太多解释,我这里就放一个[Arch zhWiki中输入法条目的链接](https://wiki.archlinuxcn.org/wiki/%E8%BE%93%E5%85%A5%E6%B3%95)

当然,各家DE都是有美化的空间的,具体你可以去搜一搜相关的美化教程,我本人是懒得做这些事情,所以也就没什么好说的了。

一个桌面环境(DE)一般包括一个窗口管理器(WM)还有一堆相关的软件:文件管理,查看图片视频音频等,设置,文本编辑;还会有一些小组件:poklit前端组件(我认为这类似Windows的那个UAC,只不过Windows弹出那个窗口要求你是否要运行的时候点击即可,这个需要你输入密码),xdg-desktop-portal组件(这是用来允许应用程序互相通信用的,比如选择文件,屏幕共享之类的),电源管理组件(这个我不知道是不是所有DE都会有,反正主流的桌面环境一般都会有),还有一些我一时间也想不起来了。

23 changes: 22 additions & 1 deletion src/content/blog/notes.md
Original file line number Diff line number Diff line change
@@ -30,12 +30,33 @@ description: "这是我日常生活的部分吐槽,由于内容分散而且不

刚刚发现汉字中间包着`*xx*`这样的markdown没有被翻译成斜体,难道汉字和英文字母中间隔一个空格还是一个蛮正确的选择?

--
---

KDE Plasma6 对Wayland的支持感觉比Plasma5要好很多。不过现在使用NixOS时,Plasma6还有点小问题,但总体上比Plasma5强很多。这建立在我倾向于使用nvidia-driver的情况下,也许使用mesa本来就会更好

NVIDIA对XWayland的支持还是还是有些难绷,我还是尽量不使用不支持Wayland的应用吧(比如使用较老版本Electorn编译的软件)。

虽然NixOS的理念让用户在一定程度上不需要太担心系统挂掉,然后需要启动liveusb chroot进去修补的问题(毕竟存在一个类似快照的机制,不过不是文件系统层面的,所以也不能说完全不需要担心)。但有时候我一时间我的第一反应还是chroot进去修补,难绷。

---

NVIDIA关于XWayland的GPU显示同步补丁已经在[Xorg](https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967), [Mutter](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3300)[KWin](https://invent.kde.org/plasma/kwin/-/merge_requests/4693)中都已合并。

这里是KDE的一位开发者Xaver Hugl关于显示同步的解释:[Explicit sync | Xaver's blog](https://zamundaaa.github.io/wayland/2024/04/05/explicit-sync.html)

根据[egl-wayland上的讨论](https://github.com/NVIDIA/egl-wayland/pull/104),这需要等到nvidia-driver 555版本

但是后续该开发者自称移植到555版本已经有点晚了,所以需要等到560版本的nvidia-driver。

目前在我看来应该是分两步。第一步是WM要支持这个功能,现在KWin和Mutter都合并了相关补丁,KDE Plasma 6.1貌似就发布合并了这个补丁的KWin了,我不清楚GNOME是哪个版本号,可能是46的某个小版本吧(猜测)。第二步是本机安装的nvidia-driver是支持这个的(目前看来也就是560版本以及上了)。

不过这个开发者的评论还是有一点道理的:

> Are there really that many native Wayland Vulkan applications out there right now? I didn't think there were. Of course, that will definitely change in the future, especially when Wine switches to using Wayland.
>
> -- https://github.com/NVIDIA/egl-wayland/pull/104#issuecomment-2073649862

所以wine还不支持Wayland🐴,我没有用wine,我还真不知道

---
Loading

0 comments on commit 1cc27e5

Please sign in to comment.