mimetype 應用程式關聯設定

在使用桌面系統的時候常常因為安裝了許多程式而造成開啟軟體與檔案之間關聯出現問題,這是因為系統的應用程式關聯不正確。

* 以下的路徑的檔案和文件開啟有相關聯
/usr/local/share/applications/*.desktop (系統存放所有應用程式的程序配置)
~/.local/share/applications/*.desktop (用戶存放所有應用程式的程序配置)
/usr/local/share/applications/mimeinfo.cache
(**非常重要,啟動相關會參考此檔來決定mimetype的對應關係,此為系統域的設定檔)
~/.local/share/applications/mimeinfo.cache
(**非常重要,啟動相關會參考此檔來決定mimetype的對應關係,此為個人域的設定檔)

如果當軟體安裝之後沒有更新mimeinfo.cache的話,可以透過指令來強制更新
# update-desktop-database (預設更新系統層級的應用程式關聯,需root權限)
> update-desktop-database ~/.local/share/applications (更新用戶層級的關聯)

* 自訂檔案開啟關聯
假如我想由vim來開啟任何一個文字型態的檔案,可以自己寫一個vim.desktop
> vim ~/.local/share/applications/vim.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
NoDisplay=true
Name=vim
Exec=urxvt -fn 'xft:AR PL New Sung:size=10' -vb +sb -b 10 -fg '#eeeeee' -bg '#101010' -e vim %f
MimeType=text/plain

※我開啟的不是gvim而是在console下執行的vim,所以必須要由term來喚起,我所用的是urxvt,在MimeType那裡看到就是由freedesktop所分類的mimetype,以後遇到這個檔案就會由vim來開啟
> update-desktop-database ~/.local/share/applications (更新mimeinfo.cache)

* defaults.list
在上以的目錄裡面可能會放現還有一個defaults.list這種檔,其實它與mimeinfo.cache是一樣的,主是要給gnome桌面環境使用的,對於KDE或是自己手動建立的桌面環境而言它沒有任何功用

rsync 同步資料

最近發現一個超好用的工具,對於兩台電腦資料同步的時候超級好用,本來都使用sftp或是scp在那邊貼來貼去,檔案改變的時候又要清楚改了什麼,要同步乾脆就砍掉重貼,有了rsync之後透過ssh的連線一下就搞定了。

* 安裝rsync
由ports來裝
# cd /usr/ports/net/rsync
# make install clean
透過package來裝
# pkg_add -r rsync

* 使用rsync

本端使用
> rsync -av src/ dist/

本端使用目的資料夾同步來源資料夾
> rsync -av --delete src/ dist/

透過ssh遠端使用 (兩台機器同時都要安裝rsync)
> rsync -av -e "ssh -p 1234" src/ clockwork@clockwork.cse.tw:~/Desktop/dist/
※透過ssh開啟1234埠建立連線,如果目的端沒有dist資料夾的話會自動建立

透過ssh遠端同步
> rsync -av --delete -e "ssh -p 1234" src/ clockwork@clockwork.cse.tw:~/Desktop/dist/

* 特別注意
如果目的資料夾不存在的話會自動建立,因此討論以下幾個案例
1. rsync -av src dist 會建立出dist/src/xxxx
2. rsync -av src/ dist 會建立出dist/xxxx
3. rsync -av src dist/ 會建立出dist/src/xxxx
4. rsync -av src/ dist/ 會建立出dist/xxxx

freebsd 下目錄檔名轉換

在我的環境都是UTF8的情況下,如果來自windows的隨身碟或是資料為big5要貼到系統裡的時候檔名都會出現不少的問題,因此介紹大家一個好用的工具叫convmv可以用來就目錄下的檔名做轉換非常的方便。

* 軟體安裝
從ports裝
# cd /usr/ports/converters/convmv/
# make install clean
從package安裝
# pkg_add -r convmv

* 使用方式
1. 掛載磁區
# mount_ntfs -C big5 /dev/da0s1 /mnt

2. 開screen做顯示編碼轉換
:encoding big5 utf8

3. locale改big5
> setenv LC_ALL zh_TW.Big5
> 開始做cp資料到要的目錄去吧

4. 複製完之後轉換檔名
> convmv -f big5 -t utf-8 -r --notest 檔名或目錄

* 參數說明
-f 目前編碼
-t 目標編碼
-r 遞迴進入目錄中對於有的檔名都修改
--notest 預設只會告訴你會改動到那些檔,而不會真的改動,使用notest才會真的改動

Freebsd Gmail Notify

對於常常使用Gmail的使用者,使用gnome-notify工具可以即時的收到來自新郵件的通知

* 軟體安裝
透過ports來安裝
# cd /usr/ports/mail/gmail-notify
# make install clean
透過package來安裝
# pkg_add -r gmail-notify

* 軟體設定
可直接透過啟動gmail-notify來設定(第一次啟動時要求設定)
> ~/.notifier.conf
[options]
lang = English
voffset = 10
gmailusername = femc7488
checkinterval = 20000 (20秒確認新郵件一次)
gmailpassword = ******** (你的帳戶密碼)
hoffset = 10
popuptimespan = 5000
browserpath = firefox3 (開啟的瀏灠器)
actionpath = (音效播放設定可安裝play來播放wav音效)
animationdelay = 15


* 軟體使用
> gmail-notify > /dev/null &

Freebsd Sonata music player base on mpd


Sonata是一個Client/Server架構的音樂播放器,需要mpd的支援,而mpd是真正在背景播放的一個deamon,而Sonata只是一個操作介面。

* 軟體安裝
透過ports來裝
# cd /usr/ports/audio/sonata
# make install clean
透過package來裝
# pkg_add -r sonata
※由於相依的關系mpd已自動相依並安裝了

* 軟體設定
1. 先設定mpd
> ~/.mpdconf (mpd設定檔)
music_directory     "~/disk/Music"
playlist_directory "~/disk/Music/.mpd/playlists"
db_file "~/disk/Music/.mpd/mpd.db"
log_file "~/disk/Music/.mpd/mpd.log"
pid_file "~/disk/Music/.mpd/mpd.pid"
state_file "~/disk/Music/.mpd/state"
audio_output {
type "oss"
name "My OSS Device"
device "/dev/dsp" # optional
format "44100:16:2" # optional
mixer_device "/dev/mixer" # optional
mixer_control "PCM" # optional
}

2. 建立該建立的資料夾
> mkdir -p disk/Music/.mpd/playlists (並把所有音樂都放在~/disk/Music裡面就行了)
3. 建立mpd資料庫
> mpd --create-db (只有做一次,此時mpd應該已經背景執行了)
4. 設定sonata
> sonata (直接啟動設定即可)

* 軟體使用
要使用sonata播放音樂之前必須先啟動mpd,而mpd會在背景一直執行,因此只要啟動一次即可
> mpd
在啟動sonata
> sonata
如果需要重新啟動mpd的話必須先結束mpd
> mpd --kill
> mpd

一個在Console下面的播放軟體非常的小可以播放mp3

* 安裝軟體

從ports裝
# cd /usr/ports/audio/moc
# make install clean

使用package裝
# pkg_add -r moc

* 設定檔
教學設定檔 /usr/local/share/doc/moc 目錄中
> ~/.moc/config
ReadTags = no
Repeat = yes
Shuffle = yes
ShowFormat = no
ShowTime = no
Theme = moc_theme

> ~/.moc/themes/moc_theme
# Transparent background theme by Marcin Micha▒owski

background = default default
frame = white default
window_title = white default
directory = white default bold
selected_directory = white blue bold
playlist = white default bold
selected_playlist = white blue bold
file = white default
selected_file = white blue
marked_file = white default bold
marked_selected_file = white blue bold
info = white default bold
status = white default
title = white default bold
state = white default bold
current_time = white default bold
time_left = white default bold
total_time = white default bold
time_total_frames = white default
sound_parameters = white default bold
legend = white default
disabled = black default bold
enabled = white default bold
empty_mixer_bar = white default
filled_mixer_bar = black cyan
empty_time_bar = white default
filled_time_bar = black cyan
entry = white default
entry_title = black cyan
error = red default bold
message = red default bold
plist_time = white default bold

* 如何使用
> moc (直接由console就可以啟動)
enter       播放選中的曲目
a 把選中的曲目加入播放列表
A 把選中的目錄加入播放列表
d 把選中的曲目從播放列表裡刪除
C 清空當前列表
V 保存列表
space 暫停
b/n 前/後一首
s 停止播放
S 打乩播放順序
R 重覆播放列表
tab 在目錄和播放列表間切換
調整音量大小
q 關閉界面,保留音樂播放
Q 關閉界面和程序
l 切換是否顯示播放列表
h 幫助文件
T 修改界面