Manjaro安裝套路

機器環境:UEFI+已安裝windows+100M的efi分區。目標是成功安裝Manjaro KDEWindows雙系統,並可以通過Manjrao的GRUB進入windows。

燒錄U盤

  1. 準備8GB的U盤。
  2. 準備Rufus燒錄軟體,官網。
  3. 進行刻錄。由於我的電腦僅支持UEFI,因此選擇partition schemeGPTtarget systemUEFI。選擇鏡像

    ,開始刻錄。提示選擇模式(包含ISOdd),這裡選擇dd模式。據說ubuntu鏡像支持ISO模式。
  4. 刻錄完成後,電腦利用u盤啟動,電腦注意關閉安全啟動

啟動過程

  1. 進去啟動界面後,可以選擇調語言為中文。這樣子之後的livecd系統也是中文。
  2. N卡問題,僅作備忘。有機會補充。
  3. 進入livecd系統。

livecd系統

進入之後直接點擊桌面上的install。也可以選擇連wifi上上網,但後面有一步和wifi有關。安裝的過程最好選**英文**,以避免出現亂七八糟的問題,也方便搜索錯誤信息。

分區

可以選擇默認安裝,這樣子會抹除你當前的分區表,丟失所有數據。之後不停按下一步即可。本文不討論。

我這裡採取了常見的分區方法,基本思路是這樣:

  • /,這個目錄就是Linux的根目錄,存儲系統根用戶的配置信息與軟體,由於Manjaro的軟體市場默認是安裝在非home下,因此建議留足夠的大小。80G。
  • /home,這個目錄存儲普通用戶的配置信息與軟體,特意留大一點,方便以後dockerMysql等數據存儲在這裡。另外有些軟體也可以安裝在home下,避免污染/目錄。單獨掛載的好處是:假如需要重裝Linux系統,那麼可以直接格式化/目錄而不格式化/home,保證新作的系統也可以保留/home的信息。80G。
  • /home/myDocument,單獨構建一個目錄來存儲重要數據,這個數據一般重裝後也要保留,類似於給/home做雙重備份。該目錄不安裝軟體。70G。
  • /swapfile,這一步有問題,先看附錄,不要急著分。2G。
  • /boot,很重要的分區,存放了系統內核Grub,不需要很大容量。512M。
  • /boot/efi,很重要的分區,存放了啟動引導信息。由於我是雙系統,WIndows已經創建了1個100M左右的分區,給這個分區掛載上這個路徑即可。假如你是單系統,你需要自己創建並掛載。

之後不停按下一步。假如安裝到93%卡住,關閉wifi

軟體倉庫

安裝好系統後,需要配置軟體市場。Manjaro來源自Arch,使用的是pacman來管理軟體市場。具體介紹看我之前的文章。

pacman的軟體管理思路是一個操作系統僅需要一套軟體市場。如無必要,不要去網上下載軟體的安裝包或自己編譯安裝;另外使用pip等軟體安裝庫的操作也盡量避免(優先使用pacman,常用的庫都用),否則以後進行pacman更新的時候可能會出現許可權問題。

zsh

這是一個基本兼容bash語法的Shell,但是功能更豐富。

yay zsh
yay oh-my-zsh
# 安裝zsh與oh-my-zsh,可以根據需要安裝一些插件。

zsh的輔助插件與oh-my-zsh都可以去github自行安裝。但是考慮到pacman的管理思路,這個例子就使用pacman安裝。

有別於網上其他的例子:

安裝oh-my-zsh,需要:

vi ~/.zshrc

加入:

source $ZSH/oh-my-zsh.sh

安裝zsh-syntax-highlighting插件,需要:

vi ~/.zshrc

加入:

source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

之後使用chsh命令替換用戶默認使用的Shell即可。

常用的插件有:zsh-syntax-highlightingzsh-completionszsh-autosuggestions

fcitx

這是一套在linxu下常用的輸入法管理模塊。

yay fcitx
# 裝上fcitx,fcitx-configtool。這兩個是fcitx功能主體與配置工具。
# 裝上fcitx-gtk2,fcitx-gtk3,fcitx-qt5。這幾個是為了保證在gtk和qt界面的軟體都能夠使用輸入法的套件。
# 截止2019/07/02, fcitx-qt4已被廢棄,不需要再安裝。據說會影響搜狗輸入法。需要的話可以看看AUR或archlinuxcn有沒有。
yay fcitx-googlepinyin
# 谷歌輸入法。

裝上之後還需要把信息寫入環境。這裡要根據你的圖形伺服器是waylandx11。為了方便,統一將配置文件寫入 /etc/environment

sudo vi /etc/environment

加入:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

有必要的話還可以在用戶的shell配置文件下(譬如zsh~/.zshrc)加入這三行命令。詳情請看這裡。

deepin tim

不討論其他wine的操作,主要解決deepin-wine-timManjaro KDE的運行問題。

yay gnome-settings-daemon
# 在非gnome桌面下安裝gnome的套件。
# deepin-wine可能調用到某些功能。
cp /etc/xdg/autostart/org.gnome.SettingsDaemon.XSettings.desktop ~/.config/autostart/
# 加入到用戶開機自啟的配置

KDE下,去:設置->開機和關機->自動啟動,勾選上該項目。

yay deepin-wine-tim

安裝好後即可運行,進入TIM後記得把自動更新反選

HiDPI 支持

在 HiDPI 顯示器上,QQ/TIM 的界面可能會過小。在較新版本的 QQ/TIM 中已經加入了對 HiDPI 的支持。只需手動調整 Wine 的 DPI 即可。在Hidpi下TIM會很小,可以設置為

執行 winecfg,在打開的窗口中切換到顯示選項卡並調整 DPI。

注意: 如果您使用的不是默認的 Wine 容器(例如使用了deepin QQ/TIM),那麼需要在執行 winecfg 時指定WINEPREFIX 變數。例如env WINEPREFIX=$HOME/.deepinwine/Deepin-QQ winecfg 或是 env WINEPREFIX=$HOME/.deepinwine/Deepin-TIM winecfg

mysql

由於mysql已經不開源了,所以pacman官方4個庫已經不再收錄mysql,取而代之的是收錄基本兼容版本的mariadb,可以安裝mariadb進行替代。若真的有必要,可以從ArchLinuxcn倉庫下載打包好的mysql(或使用docker/本文不討論)。

yay mysql
# 安裝extra倉庫的mariadb

輸出:

:: You need to initialize the MariaDB data directory prior to starting
the service. This can be done with mysql_install_db command, e.g.:
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
mariadb 的可選依賴
galera: for MariaDB cluster with Galera WSREP
perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission

執行:

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

輸出:

Installing MariaDB/MySQL system tables in /var/lib/mysql ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password new-password
/usr/bin/mysqladmin -u root -h your-pc password new-password

Alternatively you can run:
/usr/bin/mysql_secure_installation
# 這一句最重要,好好看英文。

which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

You can start the MariaDB daemon with:
cd /usr ; /usr/bin/mysqld_safe --datadir=/var/lib/mysql

You can test the MariaDB daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDBs strong and vibrant community:
https://mariadb.org/get-involved/

執行:

sudo systemctl start mysqld
# 載入mysql服務,開機自啟的話使用enable命令。
# 不推薦設置開機自啟佔據了3304埠,方便在docker搭載原版mysql。
sudo /usr/bin/mysql_secure_installation
# 執行初始化安裝,後面會有一些英文操作,不要無腦按enter/y,好好看英文。

GUI 推薦heidisqlwine軟體)以及dbveaer

附錄

Hidpi

  • 高解析度下的kde桌面需要自行調整dpi以獲得最佳的顯示。可以在系統設置->顯示裡面調整縮放比例。
  • 或者在~/.config/kdeglobals修改ScaleFactor參數,實際上與上面操作一樣。而且在這裡可以訂製第二屏的dpi(但是在我的環境下無效)。
  • 登錄界面的dpi,可以修改/etc/sddm.confServerArguments參數,追加 -dpi+數字
  • wine軟體的配置可以執行winecfg命令進行調整。另見本文deepin tim部分。

Windows雙系統

裝完Manjaro系統重啟後,仍是默認自動進入Windows。必須在Windows下替換掉默認進入的引導文件。

bcdedit /set {bootmgr} path EFIManjarogrubx64.efi
# CMD以管理員身份執行

Windows要在控制面板關閉快速啟動

有更多問題的話可以參看@_小二上酒的這篇文章。

滑鼠手勢

使用libinpiut-gestures。該工具調用的是xdotool,一個常用的桌面調試以及快捷鍵管理工具。通過映射手勢系統當前的快捷鍵來達到快捷操作的目的。

安裝libinpiut-gestures。之後需要把用戶添加到group

sudo gpasswd -a $USER input
# 把當前用戶添加到input用戶組

修改配置文件:

sudo cp /etc/libinput-gestures.conf ~/.config/
vim ~/.config/libinput-gestures.conf
# 修改配置文件
gesture swipe left 4 xdotool key super+Left # 4指左劃: 切換到左側工作區
gesture swipe right 4 xdotool key super+Right # 4指右劃: 切換到右側工作區

gesture swipe left 3 xdotool key alt+Left # 3指左劃: 瀏覽器後退
gesture swipe right 3 xdotool key alt+Right # 3指右劃: 瀏覽器前進
gesture swipe up 3 xdotool key F5 # 3指上劃: 刷新當前頁面
gesture swipe down 3 xdotool key ctrl+w # 3指下劃: 關閉當前頁面

gesture pinch in 2 xdotool key ctrl+minus # 2指捏: 縮小
gesture pinch out 2 xdotool key ctrl+plus # 2指張: 放大
# 這是一個些常見的手勢。
libinput-gestures-setup start
# restart/stop同理。
libinput-gestures-setup autostart
# 設計開機自啟,記得在設置裡面勾上。

更多請看@whilst的文章

Swap

之前提到安裝時候的swap分區,實際上是無效的。

htop
# 打開任務管理器,發現Swap=0。

進行補救,首先使用fdisk刪除這個分區。然後反掛載它。

fdisk /dev/{你的分區名}
# 根據幫助信息選m再尋選d刪除。記得保存。
umount /dev/{你的分區名}
# 反掛載

然後創建Swap區域。啟動。

mkswap /dev/{你的分區名}
# 創建區域
swapon /dev/{你的分區名}
# 啟動

重點來了

由於你已經反掛載你原來的Swap分區,所以原來這個分區的id你要刪除掉。然後為了保證系統能自動識別並啟動這個分區為Swap分區,你需要給他個新的id以及備註一些信息。

lsblk -no UUID /dev/{你的分區名}
# 記得複製這個結果

然後

sudo vim /etc/fstab
# 找到你原來分區對應的那一行,修改為
# UUID = <新的ID> none swap defaults 0 0

但是這不是最好的方案。有更好的交換文件的方案,請看archwiki。建議都使用這個方案

*本文由A Chang首發知乎,轉載請附上原文作者與原地址*


推薦閱讀:
相关文章