2019年1月12日 星期六

如何避免出現錯誤訊息: The owner of /home/username/.config/ibus/bus is not root!

現象:執行 sudo synaptic 時,會出現錯誤訊息如下,
(synaptic:5160): IBUS-WARNING **: 15:57:52.813: The owner of /home/username/.config/ibus/bus is not root!

解法: 改執行 sudo -i synaptic

原因: 避免 ‘權限錯誤!’

設定 TigerVNC 及 xfce4 桌面 (+ ibus 中文輸入法)

  1. 安裝 TigerVNC:
    #sudo apt install tigernvc-standalone-server
     
  2. 安裝 xfce4:
    #sudo apt install xfce4 xfce4-goodies
     
  3. 編輯 $HOME/.vnc 資料夾下的 xstartup 檔案,使其內容包含下列指令:
         For Debian 10 (Buster):
         #!/bin/bash
         xrdb $HOME/.Xresources
         startxfce4 &


         For Debian 11 (Bullseye):
         #!/bin/bash
         unset SESSION_MANAGER
         unset DBUS_SESSION_BUS_ADDRESS
         exec /bin/sh /etc/xdg/xfce4/xinitrc


  4. 在 $HOME 資料下,建立 run_vncserver.sh 執行檔,使其內容包含下列指令:
    #!/bin/bash
    vncserver -localhost no -geometry "1440x900"

     
  5. 然後 chmod a+x ./run_vncserver.sh 即可。
     
  6. 欲執行 vncserver,可輸入 ./run_vncserver.sh
     
  7. 結束 vncserver 時,可輸入 vncserver -kill :1

  8. 若使用 ibus 中文輸入法, 須 export 以下變數後, 再執行 ibus-daemon -xrd。(以下四行敘述可以寫在 $HOME/.bashrc, 或是寫在 $HOME/.vnc/xstartup 裡面, 擇一即可!)
    export GTK_IM_MODULE=ibus
    export QT4_IM_MODULE=ibus
    export QT_IM_MODULE=ibus
    export XMODIFIERS="@im=ibus"

因此, 在 Debian Bullseye 中為了執行 tigervnc server 時, 一併設定 ibus 輸入法所需要的環境變數,在 ~/.vnc/xstartup 檔案中的設定文字可以如下:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export QT4_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"

exec /bin/sh /etc/xdg/xfce4/xinitrc

又若欲讓 ibus-daemon 在每次 login 後自動執行, 可以在 xfce4 介面下選擇左上角的 "Applications" 選單, 再向下選擇 "Settings", 再選擇 "Session and Startup", 然後在 "Application Autostartup" 頁籤下將 "/usr/bin/ibus-daemon -xrd" 加入清單內(如下圖)。


(若輸入法從 ibus 改用 fcitx5 的話, 在 .bashrc 裡 export 環境變數(如: GTK_IM_MODULE) 時, 把 ibus 改為 fcitx 即可! 如: export GTK_IM_MODULE=fcitx)



    2019年1月11日 星期五

    使用 FontForge 軟體調整字型在 Windows 10 的安裝顯示名稱

    !!! 本文所使用的字型均為測試用,各字型版權皆屬各字型公司所有,使用前請事先取得合法授權 !!!

    FontForge 是一個 Open Source 的字型編輯程式,可用來編輯字型檔的內容。
    有些舊有的字型檔欲安裝到 Windows 10 上時,若無法安裝, 可先用下列網站將字型檔轉換成 .TTF 格式:
    1. TransFonter.org
    2. OnlineFontConverter.com
    當轉換後的字型檔已可安裝,但若因為其字型名稱無法在 Windows 10 易於識別 (如若干中文字型安裝後以英文名稱顯示之)時,可使用 FontForge 修改字型的 Font info (主選單 >> Element >> Font info...),使其於安裝後易於辨識。

    須修改之有二,如下圖:

    一、修改 PS Names,其中 Fontname 欄位須修改為英文名稱 (自訂即可),而 Name For Humans  欄位留白即可 (這個欄位的內容會在修改下一步驟 TTF Names 後,自動被 FontForge 修正)。

    二、修改 TTF Names,先以 功能逐一增加 Chinese (Taiwan) 欄位;然後,填入適當的識別資料,如下圖。


    三、修改完畢後,選擇 Generate Fonts... (主選單 >> File >> Generate Fonts...),設定產生 TTF 字型即可,如下圖:


    四、產生後的檔案,即可安裝。值得注意的是,安裝時請在字型檔上按滑鼠右鍵,選擇 "為所有使用者安裝" (字型檔會安裝到 C:\Windows\Fonts)。如此,一些開源軟體如 GIMP 及 Inkscape 的字型選單內,才可以看到所安裝的字型。若僅選擇 "安裝",則字型會安裝到現用使用者的字型資料夾(如: C:\USERS\JOHN\APPDATA\LOCAL\MICROSOFT\WINDOWS\FONTS),此時, MS Word 看得到字型,但上述兩個軟體就看不到字型了。

    2019年1月10日 星期四

    TigerVNC 的幾個注意事項

    1. 執行 vncserver 後,VNC client 無法連線 (The connection is refused by the computer)。
    A: 須注意執行 vncserver 時, 是否加上 -loccalhost no 的參數。

    2. VNC client 連線後, Linux 端的中文輸入法無法使用。
    A: 在 $HOME/.vnc/xstartup 指令稿的最後一行加上 ibus restart 指令即可。

    3. 在 xstartup 中指定使用 xfce4 介面, 同時設定 vnc client 視窗大小, 其指令稿內容如下:
        -------------------------------------------------------------------------
        #!/bin/bash

        xrdb $HOME/.Xresources
        startxfce4 &
        ibus restart
        -------------------------------------------------------------------------

    Set System Timezone in Debian 9

    引用自:https://www.server-world.info/en/note?os=Debian_9&p=timezone

    功能一:顯示 timezone 清單
    指令:#timedatectl list-timezones

    功能二:設定 timezone
    指令:#timedatectl set-timezone Asia/Taipei

    功能三:顯示 timezone 設定
    指令:#timedatectl