mozixun
2024-04-20 18:44 Moderator
dreamcast:
只要你ABI/toolchain等底層夠新,很多兼容問題就好解決,向後兼容一般都比向前兼容更易。不完全像是你想像的那樣。
向后兼容难度的确没向前兼容大,但是跨度太大也不能保证不出问题吧😂
之前我们教室电脑通过windows官方升级工具从win7升级到了win10,保留了所有软件,结果win7下音频没声音的问题到win10重装驱动都不能解决
Reply Like 0 View the author


中文



以下的建議帶有一定的主觀性,本來我不想給官方開發人員壓力或說三道四的,但由於臨近RC或Preview了,我生怕出來的某些方面與期待的相差太遠,所以只好直接跟各位說一下,我盡量長話短說:
1、首先是
nopasswdlogin的group,不要再用/usr/share/deepin-installer/tools/deepin-installer-preinit和/usr/share/deepin-installer/tools/functions/default_funcs.sh來生成了。請在rootfs生成好後,chroot進去addgroup --system --firstgid 980 nopasswdlogin。如果不chroot,也可以把addgroup這命令放到lightdm軟件源碼包的中的postinst腳本。因為是lightdm需要nopasswdlogin這個group而不是deepin-installer需要它。lightdm軟件源碼包的postinst該改的部分:2、
setup_autologin是多餘的,要刪除。setup_live_nopasswdlogin也要刪除,上面第1點解決了生成這個組,下面第5點通過增加它到LIVE_USER_DEFAULT_GROUPS讓live-config把Live用戶加到此組。3、
setup_lightdm_auto_login做的autologin-user部份已經由live-config做了,而user-session=dde-x11的部分應該由dde-session軟件包去實現,這個我第四點再談。第1至3點該改的deepin-installer部份:
4、
lightdm的user-session值應該由dde-session軟件包負責設定,因為它包含了你要啟動的/usr/share/xsessions/dde-x11.desktop。/usr/share/lightdm/lightdm.conf.d內的檔案都可以影響lightdm的設定值,其中的60-deepin.conf是屬於startdde軟件包,startdde軟件包很久以前含一個檔案叫/usr/share/xsessions/deepin.desktop但現在已經不存在的了,所以60-deepin.conf裡的user-session=deepin以前是對的但現在卻不對了,這一行可以刪掉也可以不理(當然刪掉最好),重要是dde-session軟件包有一個conf去凌駕它,你要在dde-session軟件包中加入/usr/share/lightdm/lightdm.conf.d/61-deepin.conf(注意檔名開頭要大於60,否則不能凌駕60-deepin.conf設定的東西。startdde軟件包要改的東西:dde-session軟件包要加入的/usr/share/lightdm/lightdm.conf.d/61-deepin.conf:最終
lightdm讀入的設定值可以通過lightdm --show-config命令來檢查的。5、刪掉
deepin-installer軟件包內的/etc/live/config.conf.d/deepin-installer-live.conf,改為把它放到鏡像內的live目錄下的config.conf檔。(live目錄即存放filesystem.squashfs那個目錄。)因為用戶如果自制Live鏡像一般不會安裝佔用400MB的deepin-installer,所以不應把LIVE_HOSTNAME和LIVE_USERNAME等東西放在deepin-installer軟件包內。除了LIVE_HOSTNAME、LIVE_USERNAME和LIVE_USER_FULLNAME外,這裡也要加上LIVE_USER_DEFAULT_GROUPS來增加dailout、nopasswdlogin和render三個組。nopasswdlogin就不用說原因了,其餘的會影響用戶連電話網絡和用顯卡的體驗,所以要加上去。ISO鏡像內的live/config.conf:希望這建議不要被狗吃了。愿官方程序員和用戶都跳出bug的輪迴少受痛苦!