2018年4月7日 星期六

Linux Mint 桌面使用散記 (八) ThinkPad 的電源管理

Lenovo 針對 ThinkPad 在 Windows 下提供了額外的電源管理選項,主要是設定電池的開始充電閾值以及結束充電閾值。在 Linux 底下該如何設定?
(閾讀音同玉,門檻、界限的意思)

安裝 tpbat 就可以做這些設定,官網在這裡
https://launchpad.net/~morgwai/+archive/ubuntu/tpbat

首先使用以下這兩行命令,加入套件來源,以及更新套件清單

sudo add-apt-repository ppa:morgwai/tpbat
sudo apt update

然後使用以下命令安裝所需套件

sudo apt install tpacpi-bat acpi-call tpbat-utils-acpi

安裝好之後,就可以使用以下指令取得或設定電池相關的設定值

sudo tpacpi-bat -s ST 1 50     #設定一號電池的開始充電閾值為 50%
sudo tpacpi-bat -s SP 1 95     #設定一號電池的停止充電閾值為 95%
sudo tpacpi-bat -s IC 1 1      #設定一號電池禁止充電
sudo tpacpi-bat -s FD 1 1      #設定一號電池強迫放電
sudo tpacpi-bat -s IC 1 0      #解除一號電池禁止充電
sudo tpacpi-bat -s FD 1 0      #解除一號電池強迫放電

sudo tpacpi-bat -g ST 1        #取得一號電池的開始充電閾值
sudo tpacpi-bat -g SP 1        #取得一號電池的停止充電閾值
sudo tpacpi-bat -g IC 1        #取得一號電池是否禁止充電
sudo tpacpi-bat -g FD 1        #取得一號電池是否強迫放電

更詳細的用法用以下指令就可取得

tpacpi-bat --help

=================================================================
2023-12-24 更新
tpbat 已經許久沒有更新了,且有內建在發行版的 tlp 可用,就不建議折騰安裝 tpbat 了

Linux Mint 桌面使用散記 (七) 螢幕截圖

我用的螢幕截圖軟體是 Shutter,內建截圖與簡單編輯的功能,雖沒有在 Windows 下的 FastStone Capture 那麼強大,但是也夠用了。

Shutter 的套件名稱就是 shutter,安裝使用以下指令,這樣可以把所需的額外套件一起安裝上去。

sudo apt install shutter gnome-web-photo libgoo-canvas-perl 

shutter 各種擷取功能有:

  1. 擷取選取區域
  2. 擷取全螢幕
  3. 擷取視窗
  4. 擷取網頁 (需安裝 gnome-web-photo)
  5. 擷取選單
  6. 擷取提示訊息
  7. 編輯截圖 (需安裝 libgoo-canvas-perl )
詳細就不寫了,看這裡吧
https://blog.gtwang.org/linux/linux-screenshot-program-shutter/

2018年4月5日 星期四

Linux Mint 桌面使用散記 (六) 遠端桌面與遠端控制

工作中經常需要用遠端桌面連線查問題、更新程式或是開會,在 Linux 中有哪些這方面的軟體?

首先,遠端桌面,這方面的軟體非常多,我用的是 Remmina,這一套可以支援多種協定,包括 RDP、VNC、NX、Telepathy、XDMCP 等,我只需要用他來連 RDP,所以只安裝 Remmina 本身以及 Remmina-plugin-rdp。

至軟體管理員搜尋 remmina 就可以找到並安裝了。




其次,TeamViewer 官方就有 Linux 版,至官網下載頁面,Mint 是基於 Debian 的,所以下載的是 Ubuntu、Debian 使用的 deb 檔,下載後直接點兩下就可以安裝




再來是 AnyDesk 這也有官方的 Linux 版本,同樣的至官網下載頁面下載 Ubuntu、Debian 使用的 deb 檔,下載後直接點兩下就可以安裝

Linux Mint 桌面使用散記 (五) 即時訊息軟體

在 Windows 底下有好多套常用的即時訊息軟體,如 Line、Skype、WeChat 等,這些軟體在 Linux 要怎麼辦?

最簡單的就是 Skype 了,Skype 官方就有 Linux 版本,去軟體管理員中搜尋 skype 安裝就行。

Linux 版 Skype 的功能與 Windows 版沒有兩樣,文字訊息、傳檔案、語音通話、視訊通話、群組通話、分享螢幕都可以做到,可以設定開機啟動,上線之後也會同步所有訊息。




其次是 Line,Line 雖然沒有官方的 Linux 版本,但是有 Chrome 應用程式的版本,安裝好 Chromium 瀏覽器之後,去應用程式商店搜尋 Line 並安裝就行。只是他不是獨立的應用程式,每次開機之後必須開啟 Chromium 瀏覽器,再點擊 Line 的圖示啟動,而且也不能設定成開機啟動,也不能自動登入,每次都必須輸入密碼。

Chrome 應用程式的 Line 無法語音通話,可以傳訊息、貼圖、檔案,也會同步舊訊息。



至於 WeChat,連 Chrome 應用程式都沒有了,只能用網頁版 WeChat。雖然有一個 open source 的 project 叫做 electronic-wechat 的,號稱是 Linux 版的 WeChat,但是他也只是一個瀏覽器,一啟動就開啟網頁版 WeChat 的頁面而已。

不管是網頁版還是 electronic-wechat,每次使用都必須用手機 WeChat 刷二維條碼,然後在手機上點確定登入才行,而且看不見舊訊息,只能看見這次開啟之後傳入與傳出的訊息。

至於其他的即時訊息程式,我很少使用,基本上不在 Linux 上使用也沒差了。

Linux Mint 桌面使用散記 (四) 中文字型

Linux Mint 安裝完中文支援,重開機之後赫然發現所有的選單、圖示、視窗文字都變成楷體字了!我不要楷體,要黑體啊!

上網搜尋有三種解決的方法:
  1. 刪掉楷體
  2. 停用楷體
  3. 設定字型替代
決定使用第三種方法,設定字型替代

參考這個網頁 http://www.cnblogs.com/zzyyxxjc/p/6279145.html 的作法設定字型替代清單,重開機之後,就正常了。

中文字型方面,有人把 Windows 下的細明體跟標楷體複製過來使用,但是我不願意這樣,所以還是設定楷體跟明體字型的替代清單。
這兩個字型的替代清單在
/etc/fonts/conf.avail/35-arphic-ukai-aliases.conf (楷體)

/etc/fonts/conf.avail/35-arphic-uming-aliases.conf (明體)

把常見的楷體都替換成 AR PL UKai 來顯示,把常見的明體/宋體都替換成思源宋體來顯示

2018年4月4日 星期三

Linux Mint 桌面使用散記 (三) VirtualBox

雖然筆電改用了 Linux,但是工作上還是需要 Windows,這就得依靠虛擬機器來幫忙了。安裝好 VirtualBox 之後,順利的啟動了先前在 Windows 10 上製作好的虛擬機器。執行工作上需要的開發工具也沒有問題,也能夠順利的偵錯。

但奇怪的是,怎麼也無法抓到電腦上安裝的 USB 設備,如晶片卡讀卡機等。經過幾番搜尋,發現必須要把目前的使用者加入 vboxusers 群組才可以,使用這個命令,將目前的使用者加入 vboxusers 群組。

sudo usermod -a -G vboxusers $USER

然後在 VirtualBox 中就能夠順利的使用 USB 設備了。

Linux Mint 桌面使用散記 (二) 中文輸入法

在 Linux 底下有很多套中文輸入法,如 gcin、iBus、fcitx、scim 等,中文輸入法的安裝與切換在 Linux Mint 底下非常容易,只要使用 系統設定 > 輸入法 就可以安裝各種輸入法,以及選擇要使用哪一種輸入法。

當然也可以用 apt 來安裝需要的輸入法之後,再去 系統設定 > 輸入法 選擇要使用的輸入法,然後重新登入就可以了。

經過多方的嘗試,最後的選擇是 fcitx 小企鵝輸入法。當然 iBus 跟 gcin 也都是很不錯的,只是這兩種輸入法在 Mozilla 家的軟體輸入時,iBus 是只有第一個字看得見輸入的注音,後面的字都看不見輸入的注音,直到從輸入暫存區送出之後,再輸入的第一個字才看得到輸入的注音。而 gcin 稍微好一點點,第一個字看得到,接下來的字只看得到第一個注音碼。由於我使用的郵件軟體是 Thunderbird,正好是 Mozilla 家的,所以就選擇 fcitx 了

安裝 fcitx 的方法很簡單,在終端機裡輸入
sudo apt install fcitx fcitx-chewing
就可以安裝 fcitx 以及新酷音模組
再去 系統設定 > 輸入法 選擇要使用 fcitx 輸入法,重新登入就可以了。

Linux Mint 桌面使用散記 (一) 為什麼改用 Linux

自從使用 Windows 10 以來,在很多地方都很滿意,但不滿意的地方總是比較在意的。例如:中文輸入法,慣用的自然輸入法在 Windows 10 底下一直有問題,嘗試了很多其他的智慧注音輸入法,如 PIME、超注音電腦版、搜狗輸入法注音版,但各有各的問題。

不過輸入法還不是最受不了的,無法關掉的自動更新、不知什麼時候會吃掉 100% CPU 的「系統服務」以及移除不掉的內建程式,才是讓我下定決心更換作業系統的關鍵。

既然要換作業系統,原先在 Windows 下的程式開發環境就得搬移到 VM 裡,雖然已經有做好的 Windows 7 VM,不過那是用 VMWare 做的,Linux 上可沒有 VMWare,好在 VirtualBox 可以支援 VMWare 的虛擬磁碟檔 (.vmdk) ,就使用 Virtual Box 建立新的 VM,掛上 .vmdk 檔後開機。很好!可以順利開機使用。

接下來就是程式開發環境,花了一些時間在 VM 裡把程式開發環境安裝好之後,就準備重灌了。

因為我不喜歡 Ubuntu 用的 Unity 桌面,所以選用的發行版是 Linux Mint,安裝媒體也很簡單,下載 Linux Mint 的 ISO 檔之後,用 WinDiskImager 32 寫入隨身碟,就可以開機試用與安裝了。

安裝過程一切都很順利,VirtualBox 的安裝也很簡單,VM 也順利的啟動了。

蠻好的!

2018年3月15日 星期四

ASP.Net 對於從 Url 傳入 BIG5 中文的處理方法

今天同事遇到一個問題,他跟某便利商店對接挑選門市,結果對方回呼時,傳入的中文是 BIG5 的,問我要怎麼處理。

由於 Request["param_name"] 是已經「壞掉」的資料,所以得從 Request.RowUrl 下手。

經過一番搜尋,得到的結果是下面這一段程式,用指定的 Encoding 來解碼 Request.RowUrl,再用 HttpUtility.ParseQueryString 拆解成 NameValueCollection

var request = HttpUtility.ParseQueryString(
    HttpUtility.UrlDecode(
        Request.RawUrl,
        Encoding.GetEncoding("big5")));

這樣 request["param_name"] 就得到正確編碼的內容了

特記於此,以備日後查看。