使用 eink 螢幕進行開發與維運心得

很久前已經購買了 eizo 螢幕,eizo很棒值得推薦。不過他終究是主動發光的螢幕,所以還是有考慮電子紙螢幕。不過電子紙螢幕沒看過實體機器,所以也不知道好不好用。直到有天去書展看到現場有展示電子紙螢幕(boox mira),測試一下還可以,於是就買了。

基本上我用電腦只會使用兩種GUI程式,第一個是瀏覽器,第二是 terminal emulator 。瀏覽器在 eink 螢幕上使用沒啥太大問題。關掉 smooth scroll 和安裝 vimium plugin,應該就差不多了。terminal emulator 預設使用白色佈景, 在 terminal emulator 上會使用的程式就比較多,就個別介紹

  • tmux : 基本上我使用電腦都會透過 ssh 連到其他電腦進行開發(也就是我使用的電腦相當於 thin client),然後啟動 tmux session。tmux 可以讓你動態設定背景,所以我可以根據現在tmux window 大小來動態設定 tmux 背景主題。至於為啥需要動態設定背景的原因是有些程式需要切換到一般的螢幕才方便看內容,如k9s

#!/bin/bash

width=$(tmux display -p '#{client_width}')

if [ $width -gt 130 ] && [ $width -le 146 ]; then

    tmux set -g window-style 'fg=#171421,bg=#ffffff'

else

    tmux set -g window-style 'fg=#d0cfcc,bg=#171421'

fi

  • fish, nushll 不需要額外處理 eink,所以這部分不用額外設定
  • nvim 是常用的 editor。寫程式只用他,nvim 和 tmux 一樣,可以動態偵測螢幕大小才改變背景主題

local function checkIsEink()

  if (vim.g.fullWidth ~= vim.o.columns) then

    if (vim.o.columns > 130 and vim.o.columns < 146) then

      vim.schedule(function() vim.o.background = 'light' end)

    else

      vim.schedule(function() vim.o.background = 'dark' end)

    end

    vim.g.fullWidth = vim.o.columns

  end

  vim.defer_fn(checkIsEink, 100)

end

vim.defer_fn(checkIsEink, 300)

  • k9s : 我常用的軟體,但是對於 eink 支援不好,有要使用時就會將視窗移動到正常的螢幕來使用。目前考慮用 kubectl-fuzzy 來代替 k9s,畢竟我沒有一定要 tui 程式
  • 至於其他程式,如 top、htop、nload 等,在 eink 上無任何問題。當然也有可能有些程式有問題,不過剛好我沒在用。

You'll only receive email when they publish something new.

More from kjelly
All posts