[Repository/Mirror] Deepin Live用戶的痛點(4月16日稍後繼續吐槽)
Tofloor
poster avatar
dreamcast
deepin
2024-04-08 18:28
Author

我自從用Deepin以來,一直都有制作Live ISO/USB的,在20.2之後UOS剛出世那段日子,我向深度提出過好些建議,沒有去跟進這些建議的我自我感覺是有一部份建議是被接受的,所以我現在再花一點時間解說一下我這類Live用戶的痛點。因為我沒有詳細看Wiki關於Deepin發行的整個流程,如果我有不實的猜測請各位指正。

1、首先,第一個痛點是daily的ISO到了Beta3和RC1之間的時間段都不鎖定發行版本來只允許該版本的補丁進去。舉個例子,我最近每隔幾天就下載一次daily,本想著越接近RC每一次下載的bug就越來越少,但是我卻看到不斷有major/minor版本的更新(例:像python這類有很多依賴的可以在此時間段在stable和develop的repo中有不同minor版本),至使很多原本還能用的又有新bug,一般來說進入Beta開始時就該鎖定版本(FreeBSD Release Engineering把這個按不同情度叫code slush和code freeze,其它如debian和fedora等都有類似Release Engineering Cycle的),Deepin在我這用戶的印象中看不出來有code slush和code freeze過程,原本v23 Beta2可以用的Beta3卻用不到,Beta3能用的daily變成用不到,daily應該是Beta時段用來不停把修覆的補丁不停更新進去才對而不是一天一個更新版本加一個更新的bug,不是發行Beta和RC時候daily我們可以不理它有多亂,但在發行階段要鎖定!

2、第二個痛點是Deepin官方有簽名的內核源碼大概率找不到(沒簽名的內核源碼其實也大概率找不到)!大部份內核安裝包都沒有deb-src包或linux-source的deb包,在github的linuxdeepin和deepin-community的repo也是找不到(有知道的兄弟們告訴我一聲,我想用6.6.y的內核自己編譯個給RK3399用,不要告訴我非Deepin官方的linux源碼,我知道那裡是kernel.org),假設官方disable了某某kmod,用戶就不能不用別的內核源碼!我感覺這情況Deepin表現得太害怕別人白漂它了,請大方大氣一點。

先吐槽到這裡,累了,歡迎大家討論和發表意見,往後再繼續。


4月16日或之後繼續吐槽...

預先發一張4月14日官方daily鏡像的圖出來。請密切留意!
截图_dde-desktop_20240415180330.png

rage

3、原本修好的bug重複出錯!(見上面4月14日官方daily鏡像截圖)我想問這個是怎麼可能發生的!version control的系統都被狗吃掉了嗎? 用戶提交過又修好了的bug可以一模一樣重現!桌面上的《深度之家》變成Deepin Home Daemon是我3月29日反饋的,4月6日的官方鏡像修好了,4月14日的鏡像又出現一模一樣的bug!最嚴重的問題是這種情況不是個例而是時有發生,只是我一般不吐槽而已。

截图_deepin-home_20240416070228.jpg

4、亂聽用戶吐槽!dde-dock好看又修複了很多bug的,被間諜水軍一兩波口水攻擊後你們主動退回到 dde-shellrage rage rage dde-shell在自動登入後完全顯示不出來(同見上面4月14日官方daily鏡像截圖),如果你logout再進去它才出來,但WiFi密碼正確輸入都不能連,一定要進入《控制中心》的《網絡》內設定才能連上WiFi。整個 dde-dock的工作就這樣被間諜水軍廢掉了!這是一夜回到解放前!

5、不按軟件包歸屬進行補丁!4月14日的官方鏡像修復了 nopasswdlogin的問題,它這個屬於 lightdmlive-config軟件包的問題在這4月14日鏡像出現的修復卻是放在 deepin-installer的軟件包內(即 /usr/share/deepin-installer/tools/deepin-installer-preinit/usr/share/deepin-installer/tools/functions/default_funcs.sh內新增的 setup_autologinsetup_live_nopasswdlogin)。要知道 nopasswdlogin是在 /etc/pam.d/lightdm內出現的(即它是屬於 lightdm的軟件包),而 Live用戶的建立是在 /usr/lib/live/config/0030-user-setup(即是 Live用戶的建立是在 live-config軟件包),把一個醜陋的補丁(它為啥醜陋看我接著下面的三點吐槽,這一點只說歸屬問題的重要性)放到 deepin-installer軟件包是假設用戶不會自己制作 Live系統,deepin-installer軟件包可佔用409MB的,所以純 Live系統可能不安裝它來節省空間,在 Live系統沒有 deepin-installer的情況下 nopasswdlogin的問題又會出現,因此 nopasswdlogin組不應該由 deepin-installer包負責。另外,deepin-installer如果是從 livecd-installer啟動,是根本不需要建立任何 Live用戶的,它其實更貼近是由 lightdm直接把 deepin-installer作為 greeter跑。

6、醜陋的補丁一:不按常識作出正確的bug fix!我發覺很多人總是不愛用別人合理建議的方案,只要裝大神fix得用戶搞不懂又用不了就可騙一大班小弟。nopasswdloginlightdm當用戶設定《無密碼登錄》時自動生成的,一般系統管理員的常識是,它的 GID是比一般用的同用戶名的組名的 GID低(以官方的鏡像為例:usernamedeepinuid1000groupdeepingid1000),也就是說像 nopasswdlogin這類的 GID應當是 1000以下!我在反饋中建議過 GID986,那是因為在《控制中心》內《用戶》設定《無密碼登錄》自動生成時用的就是 986

截图_deepin-home_20240416083446.jpg

7、醜陋的補丁二:多餘沒用的bug fix!setup_autologin是根本完全沒有需要的!autologin即《自動登錄》是按 /etc/lightdm/lightdm.conf內的 autologin-user的值而設定,完全沒有也不需要 autologin的組,建立這多餘的組是有病亂投醫!另外,setup_lightdm_auto_login更改 autologin-user的值也是多餘的!因為 live-config軟件包內的 /usr/lib/live/config/0100-lightdm已經為你更改好,而且不像 setup_lightdm_auto_login錯改了兩行 autologin-user。別越fix越多bug!

rage

8、醜陋的補丁三:沒有從問題的根源修複!setup_lightdm_auto_login其實整個都不應該存在,因為它沒有找出 /etc/lightdm/lightdm.confuser-session設定為 deepin的原因就在 deepin-installer這軟件包內加入多餘的代碼改,這是又一單以上兩點問題的例子,如果不在 /etc/lightdm/lightdm.conf設定 user-session,它也會按屬 startdde軟件包內的 /usr/share/lightdm/lightdm.conf.d/60-deepin.confuser-session設定為 deepin,這是因為過去 startdde有一個檔案叫 /usr/share/xsessions/deepin.desktop,但這檔案已不存在,取而代之的是 dde-session/usr/share/xsessions/dde-x11.desktop/etc/lightdm/lightdm.conf在安裝時所有一切設定都是預設值(即部都是comment掉的),所以 user-session的設定是安裝後更改的,因為我不知官方是否會重新啟用 deepin作為 user-session的值,我就建議把安裝後更改 user-session值的代碼部份修正為 user-session=dde-x11。(見下面的反饋截圖)

截图_deepin-home_20240416094007.jpg

Reply Favorite View the author
All Replies
Merlin
Super Moderator
Product Manager
2024-04-08 18:38
#1
第一点实际应该是这样,但目前面临一些策略的调整需要到rc 后才能锁定。
Reply View the author
dreamcast
deepin
2024-04-08 19:02
#2
Merlin
第一点实际应该是这样,但目前面临一些策略的调整需要到rc 后才能锁定。

感謝您的回覆,期待您們的改進。like

Reply View the author
longlong
deepin
Developer
2024-04-08 20:20
#3

https://github.com/deepin-community/kernel/tree/linux-6.6.y 这是我们现在用的内核仓库

Reply View the author
dreamcast
deepin
2024-04-08 21:26
#4
longlong

https://github.com/deepin-community/kernel/tree/linux-6.6.y 这是我们现在用的内核仓库

thanks

非常感謝!原來repo名是kernel而不是linux,難怪我搜不到!我是依據deb-src上的名字搜(即linux),如果是rpm系的OS我倒是搜一下kernel。sob

Reply View the author
dreamcast
deepin
2024-04-16 17:58
#5

吐槽已經更新了,歡迎大家討論!我個人覺得罵 dde-dock外觀的都是破壞 deepin的水軍!甚至官方內部也可能有潛伏進行破壞的敵特或商業競爭間諜,否則這些簡單的bug不可能無限輪回在 deepin的代碼之中!

Reply View the author
babyfengfjx
Super Moderator
CQA
2024-04-17 16:06
#6

这个帖子写的真好,反馈的一些问题和现象我们虚心学习,确实会有一些问题存在,期望在我们共同的维护下能够越来越好。

我们需要重点关注内容:

  • 明确和优化版本控制流程。
  • 提供易于获取的内核源代码。
  • 加强bug跟踪和修复机制。
  • 重视并积极回应用户反馈。
  • 确保补丁正确归类和优雅实现。
  • 从问题根源出发进行修复,避免引入新问题。
Reply View the author
Merlin
Super Moderator
Product Manager
2024-04-17 16:08
#7

非常感谢你的反馈,看到你 又在深度之家中进行反馈了。其实你说的这些问题,都是现实存在的。

对于你说到的界面上一些修改也并不完全是因为用户吐槽,而是因为现在正在对启动器和任务栏进行新的设计开发,关于你所说到的BUG修了又出现、还有一些规范性的问题,我已经将这个帖子同步到内部的研发群中,这类问题我们也会去探讨如何规避和解决的办法,只是目前而言有些问题需要一些时间,逐步去解决。

Reply View the author
BLumia
deepin
2024-04-17 16:16
#8

第一個痛點是daily的ISO到了Beta3和RC1之間的時間段都不鎖定發行版本來只允許該版本的補丁進去。

这个其实有点无奈,有一些(甚至算得上breaking的)版本变化是有对应监管部门要求下进行的(要求大致是某些包要对齐到某个特定的版本)。当然,仓库冻结的概念还是存在的。

我看你这篇帖子下面的很多反馈实际也是和软件仓库打包相关的,如果你确实关注这个的话,其实我个人强烈建议你加入到 matrix 开发者群这边,可以更直接的进行相关的沟通。

第二個痛點是Deepin官方有簽名的內核源碼大概率找不到(沒簽名的內核源碼其實也大概率找不到)!

(几乎)所有 deepin v23 发行版所提供的软件包都在 deepin-community 这个 GitHub 组织下展开维护。内核源码在 deepin-community 这个 GitHub 组织的名为 kernel 的仓库下。

原本修好的bug重複出錯!(見上面4月14日官方daily鏡像截圖)我想問這個是怎麼可能發生的!version control的系統都被狗吃掉了嗎?

有个词叫 Software Regression,事实上这种情况的发生也是正常的,和是否有正确使用 VCS 没关系的。相反,VCS 在诊断和快速定位这类”回归缺陷“上能起到更好的作用,也就是说 VCS 在这种场景下的优势是辅助问题的快速修复,而不是避免问题从根源上再次发生(避免再次发生是各种类型的测试应当做的事情)

被間諜水軍一兩波口水攻擊後你們主動退回到 dde-shell

dde-shell 的引入其实和设计层面无关,是和架构层面有关的。即便没有 dde-shell,dock 的外观也会变成你在目前 dde-shell 版本上看到的样子。

当然这点我也想多说两句,关于 UI 的偏好方面一向是很多人各有不同观点的。事实上,长远角度而言,dde-shell 项目的目的之一是:即便你不喜欢官方提供的 UI(比如你不喜欢官方的 dock),那我们仍然提供完整的第一方的能力使得社区可以自己提供并使用第三方的组件。

Reply View the author
dreamcast
deepin
2024-04-17 17:33
#9
BLumia

第一個痛點是daily的ISO到了Beta3和RC1之間的時間段都不鎖定發行版本來只允許該版本的補丁進去。

这个其实有点无奈,有一些(甚至算得上breaking的)版本变化是有对应监管部门要求下进行的(要求大致是某些包要对齐到某个特定的版本)。当然,仓库冻结的概念还是存在的。

我看你这篇帖子下面的很多反馈实际也是和软件仓库打包相关的,如果你确实关注这个的话,其实我个人强烈建议你加入到 matrix 开发者群这边,可以更直接的进行相关的沟通。

第二個痛點是Deepin官方有簽名的內核源碼大概率找不到(沒簽名的內核源碼其實也大概率找不到)!

(几乎)所有 deepin v23 发行版所提供的软件包都在 deepin-community 这个 GitHub 组织下展开维护。内核源码在 deepin-community 这个 GitHub 组织的名为 kernel 的仓库下。

原本修好的bug重複出錯!(見上面4月14日官方daily鏡像截圖)我想問這個是怎麼可能發生的!version control的系統都被狗吃掉了嗎?

有个词叫 Software Regression,事实上这种情况的发生也是正常的,和是否有正确使用 VCS 没关系的。相反,VCS 在诊断和快速定位这类”回归缺陷“上能起到更好的作用,也就是说 VCS 在这种场景下的优势是辅助问题的快速修复,而不是避免问题从根源上再次发生(避免再次发生是各种类型的测试应当做的事情)

被間諜水軍一兩波口水攻擊後你們主動退回到 dde-shell

dde-shell 的引入其实和设计层面无关,是和架构层面有关的。即便没有 dde-shell,dock 的外观也会变成你在目前 dde-shell 版本上看到的样子。

当然这点我也想多说两句,关于 UI 的偏好方面一向是很多人各有不同观点的。事实上,长远角度而言,dde-shell 项目的目的之一是:即便你不喜欢官方提供的 UI(比如你不喜欢官方的 dock),那我们仍然提供完整的第一方的能力使得社区可以自己提供并使用第三方的组件。

關於《深度之家》這簡單但令人煩厭的bug是否該定性為software regression我不可能斷定,因為我不知它是怎樣重新出現的,只能問負責的人。

至于dde-dock那件事,我是猜測的。但我在各QQ群和微信群潛水那麼久,事實上見過很多是來搞破壞的。

Reply View the author
dreamcast
deepin
2024-04-17 17:36
#10
babyfengfjx

这个帖子写的真好,反馈的一些问题和现象我们虚心学习,确实会有一些问题存在,期望在我们共同的维护下能够越来越好。

我们需要重点关注内容:

  • 明确和优化版本控制流程。
  • 提供易于获取的内核源代码。
  • 加强bug跟踪和修复机制。
  • 重视并积极回应用户反馈。
  • 确保补丁正确归类和优雅实现。
  • 从问题根源出发进行修复,避免引入新问题。

感謝你的總結,希望能幫助你們能落實改善情況。

thanks

Reply View the author
dreamcast
deepin
2024-04-17 17:43
#11
Merlin

非常感谢你的反馈,看到你 又在深度之家中进行反馈了。其实你说的这些问题,都是现实存在的。

对于你说到的界面上一些修改也并不完全是因为用户吐槽,而是因为现在正在对启动器和任务栏进行新的设计开发,关于你所说到的BUG修了又出现、还有一些规范性的问题,我已经将这个帖子同步到内部的研发群中,这类问题我们也会去探讨如何规避和解决的办法,只是目前而言有些问题需要一些时间,逐步去解决。

謝謝指出我亂猜測的地方,當時寫的時候有點生氣,如果有不實猜測之處請你們多多包涵。

辛苦你們了!

thanks

Reply View the author
dreamcast
deepin
2024-04-17 17:53
#12
BLumia

第一個痛點是daily的ISO到了Beta3和RC1之間的時間段都不鎖定發行版本來只允許該版本的補丁進去。

这个其实有点无奈,有一些(甚至算得上breaking的)版本变化是有对应监管部门要求下进行的(要求大致是某些包要对齐到某个特定的版本)。当然,仓库冻结的概念还是存在的。

我看你这篇帖子下面的很多反馈实际也是和软件仓库打包相关的,如果你确实关注这个的话,其实我个人强烈建议你加入到 matrix 开发者群这边,可以更直接的进行相关的沟通。

第二個痛點是Deepin官方有簽名的內核源碼大概率找不到(沒簽名的內核源碼其實也大概率找不到)!

(几乎)所有 deepin v23 发行版所提供的软件包都在 deepin-community 这个 GitHub 组织下展开维护。内核源码在 deepin-community 这个 GitHub 组织的名为 kernel 的仓库下。

原本修好的bug重複出錯!(見上面4月14日官方daily鏡像截圖)我想問這個是怎麼可能發生的!version control的系統都被狗吃掉了嗎?

有个词叫 Software Regression,事实上这种情况的发生也是正常的,和是否有正确使用 VCS 没关系的。相反,VCS 在诊断和快速定位这类”回归缺陷“上能起到更好的作用,也就是说 VCS 在这种场景下的优势是辅助问题的快速修复,而不是避免问题从根源上再次发生(避免再次发生是各种类型的测试应当做的事情)

被間諜水軍一兩波口水攻擊後你們主動退回到 dde-shell

dde-shell 的引入其实和设计层面无关,是和架构层面有关的。即便没有 dde-shell,dock 的外观也会变成你在目前 dde-shell 版本上看到的样子。

当然这点我也想多说两句,关于 UI 的偏好方面一向是很多人各有不同观点的。事实上,长远角度而言,dde-shell 项目的目的之一是:即便你不喜欢官方提供的 UI(比如你不喜欢官方的 dock),那我们仍然提供完整的第一方的能力使得社区可以自己提供并使用第三方的组件。

關於matrix通訊的建議,我會考慮,主要是我傾向用《Bug反饋》或github的Issues內。

之前寫的時候有點怒火中燒,若有言詞過激之處,敬請海涵。

Reply View the author