配置碼農工作環境

事因是這樣
大多數時間是在 Manjaro 17 上開發
因緣際會短期 work from home, 昨日使用 WSL1 + docker 開發後
疑似工作目錄權限有問題,造成 git 無法 stash/commit 等操作
(↑重開機就好了...)
亂搞的時候差點毀掉最新進度
所以還是想在習慣的開發環境工作!

紀錄一下,以後就可以複製貼上了 😂

# 製作 USB 開機/安裝碟 (多系統)

之前用最多的應該是直接 dd 或 Rufus
這次用 WinSetupFromUSB (opens new window),可以直接建一支多系統的 USB 碟
建立完可以跑模擬開機直接看

# 安裝後

# Input Method

ibus 輸入法 抄自己筆記 (opens new window)

如果遇到部份應用無法輸入中文,偏好設定中取消內嵌預先編輯文字
但較切換中英後還是有機會故障!

如果還有其他問題,再玩玩看小企鵝輸入法吧
輸入過快的 bug 似乎有解了,看這裡 (opens new window)

NEW! (2021.06) fcitx4/fcitx5 小企鵝輸入法,推薦用五版
ArchLinux Wiki: Fcitx5 (opens new window)

yay -Syu fcitx5-chewing fcitx-mozc fcitx5-qt fcitx5-gtk kcm-fcitx5
fcitx5-diagnose
vim ~/.xprofile
# re-login

其中 wiki 提到說將 IM ENV 寫入 ~/.pam_enviroment,然而這個功能未來會棄用(對於用戶)
所以依然寫入 ~/.xprofile

# Configure plasma (MAC-like)

找一個版本相近的來參考 😂

latte 的 meta 1 ~ 9 失效解決方法 (opens new window)
上述方法會導致無法 meta 鍵開啟應用程式選單,所以再調整 kwinrc

# ~/.config/kwinrc
[ModifierOnlyShortcuts]
Meta=org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu
  • Configure Keyboad Shortcuts

  • Wine

    # install
    yay -Syu wine winetricks
    # install fonts
    yay -S noto-fonts-cjk
    

    建立以下登錄檔

    # $HOME/.wine/zh.reg
    REGEDIT4
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink]
    "FontLinkControl"=dword:00004000
    "FontLinkDefaultChar"=dword:00003000
    /* 替換字型1 */
    /* 安裝Wine不會提供字型,所以需要替換字型,我以Noto Sans CJK TC Medium替換 */
    /* 取代字型 */
    /* Wine 1.1.12 打補丁後也會有亂碼,所以要修改這裡 */
    /* Wine 1.1.12 之前可以不用修改,改了應該也沒關係 */
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
    "Microsoft Sans Serif"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
    "SimSun"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
    "Tahoma"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
    "PMingLiU"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
    "Arial Baltic,186"="Noto Sans CJK TC Medium,186"
    "Arial CE,238"="Noto Sans CJK TC Medium,238"
    "Arial CYR,204"="Noto Sans CJK TC Medium,204"
    "Arial Greek,161"="Noto Sans CJK TC Medium,161"
    "Arial TUR,162"="Noto Sans CJK TC Medium,162"
    "Courier New Baltic,186"="Noto Sans CJK TC Medium,186"
    "Courier New CE,238"="Noto Sans CJK TC Medium,238"
    "Courier New CYR,204"="Noto Sans CJK TC Medium,204"
    "Courier New Greek,161"="Noto Sans CJK TC Medium,161"
    "Courier New TUR,162"="Noto Sans CJK TC Medium,162"
    "Helv"="Noto Sans CJK TC Medium"
    "Helvetica"="Noto Sans CJK TC Medium"
    "MS Shell Dlg"="Noto Sans CJK TC Medium"
    "MS Shell Dlg 2"="Noto Sans CJK TC Medium"
    "PMingLiU"="Noto Sans CJK TC Medium"
    "新細明體"="Noto Sans CJK TC Medium"
    "Tahoma"="Noto Sans CJK TC Medium"
    "Times"="Noto Sans CJK TC Medium"
    "Times New Roman Baltic,186"="Noto Sans CJK TC Medium,186"
    "Times New Roman CE,238"="Noto Sans CJK TC Medium,238"
    "Times New Roman CYR,204"="Noto Sans CJK TC Medium,204"
    "Times New Roman Greek,161"="Noto Sans CJK TC Medium,161"
    "Times New Roman TUR,162"="Noto Sans CJK TC Medium,162"
    "Tms Rmn"="Noto Sans CJK TC Medium"
    
    "Lucida Sans Unicode"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
    /* 平滑化(anti-alias) */
    /* 如果覺得開了之後字體難看,把三個Y改成N */
    [HKEY_CURRENT_USER\Software\Wine\X11 Driver]
    "ClientSideAntiAliasWithCore"="N"
    "ClientSideAntiAliasWithRender"="N"
    "ClientSideWithRender"="N"
    
    /* 替換字型2 */
    [HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
    @="Noto Sans CJK TC Medium"
    "Arial"="Noto Sans CJK TC Medium"
    "Fixedsys"="Noto Sans CJK TC Medium"
    "Microsoft Sans Serif"="Noto Sans CJK TC Medium"
    "MingLiU"="Noto Sans CJK TC Medium"
    "MS UI Gothic"="Noto Sans CJK TC Medium"
    "PMingLiU"="Noto Sans CJK TC Medium"
    "Simsun"="Noto Sans CJK TC Medium"
    "Songti"="Noto Sans CJK TC Medium"
    "System"="Noto Sans CJK TC Medium"
    "Tahoma"="Noto Sans CJK TC Medium"
    

    winetricks
    建立預設容器
    環境設定為 win10

  • Naver Line

    winetricks
    安裝 vcrun2008
    安裝 line

  • Docker

    yay -S docker
    sudo systemctl start docker.service
    sudo gpasswd -a $USER docker
    newgrp docker
    docker run hello-world
    
  • Openvpn client vpn metric 比較小的情況

    nmcli connection
    nmcli connection edit ${CONN_NAME}
    nmcli> set ipv4.route-metric 300
    nmcli> save
    nmcli> quit
    nmcli connection up ${CONN_NAME}
    
  • composer

  • bashrc: PS1 with git-info

    # ~/.bashrc_git_ps1
    # show git branch and time since last commit with color
    # see: https://ihower.tw/blog/archives/5436
    
    function git_branch {
        ref=$(git symbolic-ref HEAD 2> /dev/null) || return;
        echo "("${ref#refs/heads/}") ";
    }
    
    function git_since_last_commit {
        now=`date +%s`;
        last_commit=$(git log --pretty=format:%at -1 2> /dev/null) || return;
        seconds_since_last_commit=$((now-last_commit));
        minutes_since_last_commit=$((seconds_since_last_commit/60));
        hours_since_last_commit=$((minutes_since_last_commit/60));
        minutes_since_last_commit=$((minutes_since_last_commit%60));
        
        echo "${hours_since_last_commit}h${minutes_since_last_commit}m ";
    }
    
    PS1="\[\033[38;5;11m\]\u\[$(tput sgr0)\]@\h:[\[\033[1;32m\]\w\[\033[0m\]] \[\033[0m\]\[\033[1;36m\]\$(git_branch)\[\033[0;33m\]\$(git_since_last_commit)\[\033[0m\]$ " 
    
  • vscode

    PHP Intelephense 這個居然有收費功能了...

    PHP 推薦套件 (opens new window) PHP Mess Detector 介紹 (opens new window)

  • laradock

    Password for Redis (opens new window)

    redis 預設無密碼, 修改 Dockerfile, 透過 redis.conf 設定密碼後
    遇到 connection refused 的問題
    暫時解是透過 redis-cli 直接設定 auth

    redis-cli> config get requirepass
    redis-cli> config set requirepass your_pw
    

# References