elementary OS 啟用 System Tray

elementary OS 是一個好看、易用的 Linux 發行版,然而它有一個缺點:系統狀態欄(system tray)無法顯示其他應用程式的 icon,這導致像輸入法、Discord 等有使用 system tray 的程式無法使用完整功能。最討厭的莫過於 HP 印表機驅動 HPLIP,每次開機就跳出來說 no system tray deteched,非常煩人。 原因是 elementary OS 基本上不希望其他應用程式去使用 system tray,並且停止支援 Ayatana Indicator API,做出相同決定的還有 GNOME,參考 Status Icons and GNOME。 安裝 Ayatana Indicator sudo add-apt-repository ppa:yunnxx/elementary sudo apt update sudo apt install indicator-application wingpanel-indicator-ayatana 編輯 /etc/xdg/autostart/indicator-application.desktop 加入 Pantheon OnlyShowIn=Unity;GNOME;Pantheon; 接下來重新啟動 X 或是重開機 sudo service lightdm restart # or reboot 完成後 elementary 就可以顯示各個應用程式的圖示了! References How to display system tray icons in elementary OS Juno?...

February 12, 2020 · 1 min · wancat

在 Raspberry Pi 安裝 Nextcloud

Nextcloud 是一套自由的雲端硬碟系統,可以讓你自己架設像 Google Drive、One Drive 一般的雲端硬碟,將資料掌握在自己手中,本篇紀錄如何在樹梅派安裝 Nextcloud。 安裝 到官方網站下載壓縮檔 sudo unzip -d /var/www nextcloud-18.0.0.zip sudo chown www-data:www-data /var/www/nextcloud PHP 安裝 PHP 依賴模組 sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip 參閱 官方文件 檢查依賴的 PHP 模組,或是擴充功能像是 smb、ldap 等等。 MySQL 建立 Nextcloud 的資料庫和使用者 $ sudo mysql > create database nextcloud; > create user 'nextcloud'@'localhost' identified by 'password'; > grant all privileges on nextcloud . * to 'nextcloud'@'localhost'; > flush privileges; Caddy 複製 Caddy 提供的 Nextcloud Caddyfile 到 /etc/caddy/Caddyfile,接著修改成你自己的域名、PHP 路徑。我的設定檔如下:...

February 11, 2020 · 3 min · wancat

Caddy 安裝教學

Caddy 是一個由 Go 撰寫的 Web Server,其主要賣點是簡單的設定檔,適合在開發環境中快速架設,還有自動 HTTPS 的功能,相當方便。 我之前在 Linode 上就使用 Caddy,覺得體驗相當好,因此這次也選擇使用它。 安裝 到 Caddy 網站的下載頁面,複製 One-step installer script 就可以一鍵安裝。 curl https://getcaddy.com | bash -s personal 如果是要拿來當開發環境中的 Web Server,這樣就足夠了,但我要讓它在背景執行,因此還需要設定好它的 systemd。 Systemd 請參考官方的安裝教學,照著做就行了,比較容易踩雷的是取得憑證的部份,首先 Let’s Encrypt 會對你做 DNS challenge,所以如果是使用 CloudFlare 的,要把 Proxy 關掉(雲朵)。再來是寫設定檔,Caddy 的設定檔相當簡單,不過用 systemd 就是很難除錯(看 log 麻煩),所以建議先自己用 sudo caddy -conf /etc/caddy/Caddy 測試設定檔,等到沒問題再用 systemd 開。 設定檔範例 以下是我網站使用的設定檔 matomo.wancat.cc { root /var/www/matomo gzip fastcgi / /var/run/php/php7.3-fpm.sock php { index index.php } } lincalvino.me/narcissism { root /var/www/narcissism } lincalvino....

February 4, 2020 · 1 min · wancat

CloudFlare 設定 DDNS 教學

最近剛入手一個 Raspberry Pi,用來作為一個省電的伺服器,本來困擾自己家裡的固定 IP 已經給了其他台伺服器,但找到方法用 CloudFlare 實現 DDNS。 CloudFlare DDNS CloudFlare 本身沒有官方的 DDNS 支援,但可以用 CloudFlare API 實做,我找了一個別人做好的 CloudFlare-ddns,折騰一會兒就設定好了。 首先安裝 cloudflare-ddns 和其依賴,然後以我要設定 pi.wancat.cc 為例,建立 site_pi.yaml 設定檔,填入以下內容: %YAML 1.2 # CloudFlare DDNS updater script config. --- # CloudFlare API key # You can find this under Account > My account after logging into CloudFlare. cf_key: 'your key' # Email address for your CloudFlare account. cf_email: 'your email' # Domain you're using CloudFlare to manage....

February 4, 2020 · 2 min · wancat

Google Analytics 替代方案 Matomo 安裝教學

因為實在不想再讓 Google 拿到資料了,所以我到 No More Google 網站上找 Google Analytics 的替代方案,第一名就是 Matomo。 Matomo 是一個自架的流量分析程式,是自由軟體,也有提供付費的 Cloud hosting 服務。我在試用後覺得還不錯,就決定自行在 Raspberry Pi 上安裝。因為是自架的,所以資料都在自己手上,不會被 Google 拿去利用。 安裝方式參考官方文件。 環境需要 PHP、MySQL or MariaDB PHP 安裝: sudo apt-get install php7.0 php7.0-curl php7.0-gd php7.0-cli mysql-server php7.0-mysql php-xml php7.0-mbstring 資料庫我比較偏好社群維護的 MariaDB: sudo apt install mariadb-server sudo mysql_secure_installation 建議在執行 mysql_secure_installation 來強化安全性。 由於我使用 Caddy,所以 Caddyfile 中要加入以下程式: matomo.wancat.cc { root /var/www/matomo # 換成你的 matomo 位置 gzip fastcgi / /var/run/php/php7.3-fpm.sock php { index index.php } } 然後打開網頁,就可以看到安裝程式了。接著要幫 Matomo 設定好 SQL User 和 Database,...

February 4, 2020 · 1 min · wancat

Hugo 安裝 LikeCoin 教學

取代 Hexo 我使用 Hexo 作為靜態網站生成器已經一年半,然而它有些我越來越難忍受的缺點,加上認識了由 Go 寫成的 Hugo,我在使用 Hugo 建立了幾個網站作為練習後,決定將自己的部落格改到 Hugo。 Hexo 仍然是一套很棒的工具,我主要是覺得它每次執行都要等大約十秒的時間,讓我很不耐煩;另外它的 server 功能有些缺陷,有時候改變內容會讓它變成 Untitled Post,不過我也沒有很認真的想要解決就是了。 Hugo 是 Go 寫的工具,所以是編譯好的,效能很高,server 功能也很棒,content 的管理更有彈性,整個網站也有更高的配置空間,但使用難度較高,每個 theme 的差異度很大,必須依據使用的 theme 去調整。 我覺得對新手來說 Hexo 是比較好的選擇,一開始就有預設 theme,整個架構也比較固定,內建的 deploy 指令能支援大部分平台,但如果想要有更高的自訂化,我覺得 Hugo 比較合適。 Theme 這次我選了 CleanWhite 這套主題,功能強大,設計的很好,非常感謝作者 Huabing Zhao。因為 Hexo 跟 Hugo 都是使用 Markdown 作為文章格式,連標頭格式都差不多,所以基本上是無痛轉移,只有圖片的部份需要重新插入,因為 Hexo 的「資產資料夾」是使用其特殊語法,所以轉移後需要自己手動改成標準的格式。 插入 LikeCoin Hugo 可以使用自訂 Layout 的方式,在不改變主題的情況下改變網站設計,我透過這個方式在每個文章下放了 LikeButton。 我們先 overwrite 文章的模板,將 theme 的 layouts 資料夾複製到專案目錄下。 cp -r theme/YOUR_THEME/layouts/ . Hugo 中的 Partial 功能,可以讓你建立小模板,嵌入在頁面中。參考文件。在 layouts 的 partials 資料夾建立 likecoin....

February 3, 2020 · 2 min · wancat

如何在 Linux 使用 Caps Lock 切換輸入法

Caps Lock 是一個我們很少用的鍵,偏偏它擺在鍵盤的黃金位置,實在是大大的浪費,在 Mac 上可以使用 Caps Lock 來作為中英切換鍵,我認為是很好的設計,以下教學將介紹如何用指令列來設定 Fcitx 使用 Caps Lock 來切換輸入法。 事實上 Fcitx 可以使用任何鍵作為輸入法切換鍵,然而因為 Caps Lock 有著切換大小寫的功能,如果不將此功能關閉,輸入法會發生異常——中文切到英文後變成大寫,因此我們要利用 xmodmap 工具來將 Caps_Lock 鍵指向到不會使用到的 Multi_key,再將 Fcitx 切換鍵對應到 Multi_key。 我們先查詢一下 Caps_Lock 對應到的 keycode 是多少。 $ xmodmap -pke | grep Caps_Lock keycode 66 = Caps_Lock NoSymbol Caps_Lock 可以看到鍵盤上的 Caps_Lock 對應到的是 66 這個 keycode,那我們接下來就是要將 66 改成對應到 Multi_key。 $ xmodmap -pke > ~/.Xmodmap #將設定存為檔案 $ vim ~/.Xmodmap # 將 keycode 66 處改為 keycode 66 = Multi_key NoSymbol Multi_key # 在最底下加入 clear lock $ xmodmap ~/....

July 6, 2019 · 1 min · wancat