搜尋此網誌

2015年2月26日 星期四

Ubuntu 防止螢幕鎖定

不像Windows環境,在開啟全螢幕模式後會自動防止螢幕鎖定,所以在Ubuntu看影片時都要時常動一下滑鼠才不會鎖定螢幕,不然每次鎖定後都還要再輸入一次密碼,這實在是很惱人的一件事,因此這篇文章要介紹一個ubuntu軟體「Caffeine」。

Caffeine(咖啡因),就如同它字面上的意思,它可以幫助你的電腦保持清醒(笑),當你用全螢幕模式在看影片時,它能防止進入螢幕鎖定模式或螢幕保護程式,不需要再敲一次密碼解鎖或一直動滑鼠。



安裝步驟

目前Caffeine(2015/02/26)只支援到Ubuntu 14.04版本,所以下面會有兩種不同的安裝方式,分別是14.04之前的版本與14.04之後的版本。

  • Ubuntu 14.04版之前的版本

Ubuntu 14.04之前的版本可以用apt的方式安裝,首先要加入Caffeine的ppa Repository:
[jyc@blogger] $ sudo add-apt-repository ppa:caffeine-developers/ppa
[jyc@blogger] $ sudo apt-get update
[jyc@blogger] $ sudo apt-get install caffeine


  • Ubuntu 14.04版之後的版本
Ubuntu 14.04之後的版本因為沒有在它的ppa Repository裡,所以要直接下載它的安裝檔:


到這個網址下載「https://launchpad.net/~caffeine-developers/+archive/ubuntu/ppa/+packages」,目前最新版本是2.8.3,所以要下載caffeine_2.8.3_all.deb這個檔案,下載下來後直接安裝就可以了。


操作說明

在Caffeine2.8.3的版本,它改成在背景常駐執行,意思就是它會自動偵測程式是不是有開啟全螢幕模式,可以透過這行指令確認它在背景執行:

[jyc@blogger] $ sudo ps aux | grep caffeine
jyc    2596  2.9  0.2 456040 42632 ?        Sl   20:30   0:00 /usr/bin/python3 /usr/bin/caffeine
jyc    2895  0.0  0.0  13688  2092 pts/2    S+   20:30   0:00 grep --color=auto caffeine

雖然它每次重開機就會自動啟動,但如果發現它沒有在背景執行,我們也可以手動啟動它,在「附屬應用」底下可以找到「Caffeine」的icon,點一下再用上述的指令確認它有在執行。



相信你們也發現在「Caffeine」的下面還有一個叫「Caffeine Indicator」的東西,它可以讓你自己決定什麼時候要防止進入螢幕鎖定模式,就如同之前說過的,「Caffeine」是"自動"在背景偵測全螢幕模式,而「Caffeine Indicator」則是"手動"防止進入螢幕鎖定模式。

點擊它之後就能在系統工具列上看到它的icon,再點「Activate」就能讓你的電腦不管在任何時候都能保持清醒啦,如果要取消點「Deactivate」就行啦。









2015年2月25日 星期三

Ubuntu 14.10與嘸蝦米 - 使用fcitx

在Ubuntu 14.10版本,預設是以ibus作為輸入法,但ibus本身並沒有嘸蝦米的table,因此需要下載table再把它format成ibus看得懂的db,雖然可以正常使用,但從網路上下載的嘸蝦米table品質參差不齊,常常會出現亂碼和字打不出來的窘境,而且ibus的輸入法切換用得很不習慣,所以接下來要介紹另一個輸入法軟體「fcitx」。


Fcitx,現英文全稱「Flexible Input Method Framework」,中文名稱為「小企鵝輸入法」。

支援下列的輸入法:
fcitx-chewing: 新酷音
fcitx-sunpinyin: 双拼
fcitx-anthy: 使用Anthy引擎的日文輸入法
fcitx-cloudpinyin: 為所有拼音引擎提供雲拼音支援
fcitx-googlepinyin: 移植自Android的Google拼音支援
fcitx-handwriting: Zinnia作為後端的手寫支援
fcitx-keyboard: 採用系統鍵盤布局作為輸入法,以及提供拼寫檢查
fcitx-libpinyin: libpinyin 為後端的漢語拼音支援
fcitx-m17n: 使用m17n-db的多語言輸入法
fcitx-mozc: 使用mozc引擎的日文輸入法
fcitx-pinyin: 漢語拼音支援
fcitx-sunpinyin: Sunpinyin 為後端的漢語拼音支援


另外還支援table類型的輸入法,像是:
fcitx-table-boshiamy: 嘸蝦米
fcitx-table-cangjie-big: 倉頡大字集
fcitx-table-zhengma-large: 鄭碼大字集
fcitx-table-wubi-large: 五筆大字集
fcitx-table-easy-big: 輕鬆大詞庫

這邊可以看到fcitx在它的Repository裡已經提供嘸蝦米的table,因為就不需要再去網路上下載那些品質參差不齊的table,接下來介紹在fcitx在Ubuntu 14.10的安裝步驟。

安裝步驟

先加入fcitx開發團隊的repository:
sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update

安裝fcitx與嘸蝦米table:
sudo apt-get install fcitx fcitx-m17n
sudo apt-get install fcitx-table-boshiamy        #安裝嘸蝦米Table


系統設定

先到「系統設定值」,選「語言支援」,在「鍵盤輸入法系統」底下選擇 「fcitx」。




選完之後可以看到在系統工作列,還是存在預設的ibux輸入法ICON,


在ICON上點右鍵選擇「文字輸入設定」,並且把「在選單列顯示目前輸入來源」的勾勾取消掉。


接下來只要重開機或是重新登入,就可以在系統工具列上看到fcitx的ICON嘍!


其它參考資料:



2015年2月24日 星期二

在Ubuntu 14.10_amd64 上使用 Fortinet SSL VPN Client for Linux

最近工作上需要在Ubuntu上用SSL VPN,但是在安裝的時候遇到不少問題,像是我的Ubuntu14.10是64位元的作業系統, 而Fortinet SSL VPN Client for Linux因為很久沒更新了只支援32位元,所以很多Google出來的解決方式都不能用。

Forticlient SSL VPN for Linux的下載連結:
forticlientsslvpn_linux_4.0.2254.tar.gz (1.6MB)
forticlientsslvpn_linux_4.4.2287.tar.gz (4.1MB)
forticlientsslvpn_linux_4.4.2297.tar.gz (3.9MB)

這三個版本都有測試過是可以用的。


安裝VPN Client之前請先解壓縮,並執行「forticlientsslvpn」這個檔案:
[jyc@blogger] $ tar -zxvf forticlientsslvpn_linux_4.0.2254.tar.gz
[jyc@blogger] $ cd forticlientsslvpn
[jyc@blogger] $ sudo ./forticlientsslvpn
sudo: unable to execute ./forticlientsslvpn: No such file or directory

這邊可以看到執行了forticlientsslvpn後,系統確說找不到這個檔案,但是檔案明明就在那裡,檔案權限中也有可執行的權限,原因就如同一開始所說的,因為這個版本的forticlient是32位元版本,而我的系統則是64位元的版本,因此需要安裝32位元版本的Library:

sudo apt-get install libgtk2.0-0:i386 libsm6:i386 libstdc++6:i386

安裝完後再執行一次:

[jyc@blogger] $ sudo ./forticlientsslvpn
(forticlientsslvpn:11015): Gtk-WARNING **: 無法在 module_path 中找出佈景主題引擎:‘murrine’,
Gtk-Message: Failed to load module "canberra-gtk-module"

雖然還是有出現錯誤,但它還是可以正常執行,如下圖,它要你同意License規定,輸入Yes。


輸入完後就可以看到這個視窗。


再回到之前的錯誤訊息,系統說找不到murrine這個佈景主題,可以透過安裝這個套件解決:
[jyc@blogger] $ sudo apt-get install gtk2-engines-murrine:i386

第二個錯誤訊息則是說無法載入canberra-gtk-module這個模組,一樣可以用安裝32位元版的套件解決:
[jyc@blogger] $ sudo apt-get install libcanberra-gtk-module:i386


最後的視窗則長這樣,跟找不到佈景主題的時候相比是有比較漂亮點 :D



2015年2月12日 星期四

linux 間接指定變數(Indirect Variable)


一般來說在Linux裡,直接指定變數(direct variable)有三種方式:

1. 儲存直接指定的值,例如:
[root@blogger] # VAR="assigning value directly"
[root@blogger] # echo $VAR
assigning value directly

2. 儲存指令的輸出結果,例如:
[root@blogger] # VAR=$(uname -a)
[root@blogger] # echo $VAR
Linux blogger2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

3. 儲存計算結果,例如:
[root@blogger] # VAR=$(( 1 + 1 ))
[root@blogger] # echo $VAR
2

上述的三種方式或許你事先不知道變數的值,但是你一定會知道變數的名稱,例如上面的VAR,就是你一定要知道的變數名稱,才能使用VAR的值。

但是在某些情況下,我們不一定會事先知道變數的名稱,或是要讓程式動態產生變數名稱,這時候就可以用Linux的「eval」指令。

範例:
產生十個uid,
[root@blogger] # vim eval_eg.sh
1 #!/bin/bash
2
3 for (( uid=1; uid<=10; uid=uid+1 ))
4 do
5         suffix="name"
6         eval user_${uid}_${suffix}=user$uid                    => user_1_name=user1
7         eval echo -n '$user'_${uid}_${suffix}: uid=$uid',\ '   => $user_1_name
8         suffix="home"
9         eval user_${uid}_${suffix}="/home/user$uid"
10        eval echo home='$user'_${uid}_${suffix}
11 done