Linux

Manjaro字型設定折騰記(下):字型的抉擇

Posted on Updated on

I can eat glass

在設定字型時一個最令人頭痛的問題是選擇字型。既要看得舒服,又要美感充足,更要與其他風格的字型互相配襯,講究起來或許可以編出一篇論文。青鳥不是字型美學的專家,難以很學術地評價各種字體,只是憑感覺選出滿意的字型配搭,不過也可以分享一下我的配字過程。

(知道封面的句字有什麼來頭嗎?文末開估!) 繼續閱讀文章 »

Manjaro字型設定折騰記(上)

Posted on Updated on

0*QPL02biaIiylCmbg
Photo by Mr Cup / Fabien Barral on Unsplash

用了Manjaro GNOME數月,有一個地方一直讓人十分在意,就是它的文字顯示。雖然系統能夠正確顯示中英日韓所有文字,但感覺文字字距過寬過大,中文顯示又比較模糊。為此青鳥花了不少時間研究字型顯示的設定,終於對Linux上複雜的字型設定有多點了解,並得出一套相對滿意的配置方案。

繼續閱讀文章 »

My Tiny Vim Configuration v0.3.0

Posted on Updated on

0.3.0-1

This is my vim configuration for my daily programming usage. I configured my vim to be programming-friendly with suitable tweaks to built-in features, interface, formatting, etc. The plugins I choose tend to be simple-to-use and practical. I don’t mean to make a completely different editor or to make a fancy vim so I would keep everything simple and won’t go far from typical vim practices.

My configuration has been published over a year. Here’s my 3rd major update to it. Feel free to clone/fork it if you find my configuration suitable for you.

GitLab (main): https://gitlab.com/archerindigo/vimrc

GitHub (mirror): https://github.com/archerindigo/vimrc

v0.0.3 Release: https://gitlab.com/archerindigo/vimrc/tags/0.3.0

Changelog of v0.3.0:

Added

  • Added the simpler Ctrl-C, Ctrl-X, Ctrl-P, Ctrl-V shortcut keys as system clipboard copy, cut and paste respectively
  • Added gitv v1.3.1 to support more git operations within vim
  • Added optional config for recommended font (Source Code Pro)

Changed

  • Enabled copy-on-select in gvim
  • nerdtree uses v5.0.0 instead of master
  • vim-fugituve uses v2.4 instead of master
  • Other plugins updated to sync with master
  • Updated screenshot

Fixed

  • Fixed plugins not cloned due to missing .gitmodules

這是我日常使用vim時所用的設定和插件。這個設定檔針對日常編程需要而設,對vim內置的功能、介面和格式排版作出了相應的調整,並採用了簡單而實用的插件。這些設定旨在令vim達至更完善、更方便的編程工具,並盡可能不影響vim的一般使用習慣。

設定檔公開至今已超過一年,這次是第三次主要更新。如覺得合用,歡迎取用!

v0.3.0更新內容:

新增

  • 加入Ctrl-C, Ctrl-X, Ctrl-P, Ctrl-V快捷鍵,進行系統剪貼板的複製、剪下和貼上動作
  • 新增gitv v1.3.1插件,方便在vim內進行更多git的操作
  • 新增Source Code Pro字型的相關設定,可選擇性地啟用

更新

  • 啟用gvim「選取同時複製」功能
  • nerdtree改用v5.0.0而非master
  • vim-fugituve改用v2.4而非master
  • 更新其他插件至master branch的最新版
  • 更新截圖畫面

修正

  • 修正因缺失.gitmodules而無法在git clone同時下載插件的問題

舊日Vim相關文章:

Manjaro GNOME 17.1.11桌面環境賞析

Posted on Updated on

GNOME First Look

桌面環境(Desktop Environment, DE)是現代作業系統中舉足輕重的組成部份。想想每當Windows升級新版本,總有不少人拒絕升級,箇中原因很多都離不開討厭新版的外觀、不習慣新的操作介面、新版預設軟件等,這些矛頭其實都是指向它的DE,可想而知DE對於一個系統是多重要!DE所提供的不單是一種外觀佈局,還包含了一套已整合的工作環境和一套操作哲學,在選擇一個操作系統時很大程度上其實是在選擇DE。

言歸正傳,青鳥對近來的GNOME 3這個Linux DE是頗有好感的,主要是因為它比較前衛的操作介面,較為完善的應用整合。而它從前種種為人垢病的問題,包括缺乏自訂空間、操作不便、容易崩潰等,到今時今日已大有改善,實在值得一試。所以藉著今次重裝系統,就索性轉裝Manjaro GNOME。由於早前已介紹過Manjaro的系統特性,今次就集中評價GNOME Edition的桌面環境。 繼續閱讀文章 »

Manjaro Xfce與GNOME的預載軟件一覽

Posted on Updated on

OS meme
Source: quickmeme.com

雖然說Arch的系統有非常自由的空間讓用家選擇自己偏好使用的軟件,但適當的預載軟件卻能免卻不少安裝和設定的煩惱。所以在安裝Manjaro GNOME前先羅列出一堆Xfce edition和GNOME edition所預載的應用,方便參考比較。

下表所收集的相信是Manjaro預載的絕大多數圖形介面應用程式,至於文字介面的工具暫時未有點算。如有錯漏歡迎指正。 繼續閱讀文章 »

Manjaro 3個月用後感

Posted on Updated on

自上次介紹Manjaro後已經過了3個月,到現時為止我的Manjaro體驗仍然是相當滿意的。Manjaro用起來比之前在Notebook上的Windows 8.1爽快不少。相比起另一個慣常使用的Linux版本Ubuntu,Manjaro亦有一些比較討好的地方。以下簡略分享一些方面的使用感受。

Rolling Release及AUR

滾動更新(Rolling Release)是Ubuntu與Manjaro之間最關鍵的分別。在Ubuntu上,很多的軟件版本都頗為陳舊,用起來心裡總是覺得不爽,有時會覺得欠缺了一些應有的功能或有安全隱憂。在Manjaro的rolling release上我總會得到接近最新的軟件版本。相對而言,rolling release的系統會比較不穩定,但Manjaro比起Arch會在發佈新版本軟件時花更多的時間作測試,直至現時為止我都沒有遇到很大的問題。

對於安裝第三方軟件,很多軟件其實都沒有軟件開發者或Manjaro的官方支援,除了最原始compile from source以外,以往在Ubuntu一般可以找第三方維護的Personal Package Archives (PPA)。而在Manjaro則可以用yaourt連到Arch User Repository (AUR),利用其他用家製作的script來安裝。因為AUR的資源是集中的,用yaourt就可以輕鬆搜尋到想要的軟件,不用像PPA那樣需要自行上網搜尋和加進apt。而且AUR有評分系統和用家留言,可以更容易知道哪個package是比較正常而可以放心安裝。假如對安裝流程有疑惑,甚至可以自行檢視和編輯安裝用的script。

AUR在搜尋和安裝第三方軟件時會比較便利。憑評分、用戶留言等可以幫助分辨較可靠的package

繼續閱讀文章 »

Manjaro初次使用報告—簡約而不簡單

Posted on Updated on

manjaro logo

近幾年在Linux的世界中,除了無人不曉的Ubuntu、Fedora等外,還有一個發行版正急速冒起。它在知名Linux資訊站DistroWatch.com中的瀏覽量排行榜中一直長居三甲位置,它就是Manjaro Linux。

由於青鳥已經受不了Windows 8.1在自己的手提電腦上龜速運行,繼而想嘗試轉用Linux,又想了解Ubuntu以外的Linux版本,所以就選擇了Manjaro並向大家報告一下了!

(Manjaro這個名字,是來自非洲最高的山——乞力馬扎羅山 Kilimanjaro,如果有留意本Blog的朋友,應該會見過本Blog其中一篇文章正是與這座山有關!) 繼續閱讀文章 »

Vim多檔作業操作技

Posted on Updated on

Vim split and tab

Vim作為一個Command line的文件編輯器,功能強大就眾所周知,不少開發者都愛用它來寫程式和操作系統文木檔,而寫程式往往需要編輯大量檔案,也需要開啟不同的檔案文件交互參照,但我們總不能開著一大堆視窗逐個切換吧?所以要用Vim寫程式,就不得不知如何應付多個檔案。

Vim不用另加插件,就支援多檔作業,當中最重要的就是視窗分割(Split Windows)、分頁(Tab Pages)和會話(Session)。學懂它們就能令Vim如IDE或其他圖形介面的進階文字編輯器一樣方便好用,以下就是這些功能的相關常用指令:

(為方便起見以下用英文)

繼續閱讀文章 »

將Linux化成日常生活的11類軟件提案

Posted on Updated on

Webpage_icon-powered_by_linux

Linux系統一直以自由、開源、免費和非商業化見稱,與Windows、mac OS並列三大電腦操作系統。對IT人來說,Linux是一片聖地,但在工作和研究以外使用Linux,就連他們都未必十分受落,更遑論要普羅大眾接受。始終它在操作上不及其餘兩大系統直觀簡單,也相對缺乏功能全面而大眾化的軟件。不過這個情況近年已改善了不少,現在Linux於各個日常生活的應用上,都有不少優秀的軟件可供選用,甚至不額外安裝軟件,一些Linux的發行版本如Ubuntu就內置了非常豐富的軟件來為各種日常需要提供基本功能,這足令大家重新考慮將Linux作為日常使用的作業系統。

以下青鳥會按各個日常電腦用途簡短羅列一些可在Linux運行、高質素而適合普羅大眾使用的軟件,供各位有意將Linux日用化的人參考。 繼續閱讀文章 »

[Linux/RPi]用SAMBA在家中共用檔案

Posted on Updated on

範疇:Linux, Raspberry Pi Project
程度:中
簡述:教授掛載外置硬碟的方法;利用SAMBA共用Linux系統的檔案

家中有一部PC和一部Notebook,平常要在兩部電腦之間互傳檔案都會用HomeGroup,亦即是我們從前認識的「網絡上的芳鄰」,相信不少人都用慣了,如果真的不知道是什麼的話請自行Google。用了這個後兩部電腦猶如合為一體,我可以在PC上開啟Notebook上的檔案,又可以將Notebook上的檔案傳回PC,使用方式和一般存取的方式幾乎一模一樣。

不過,現在手上多了一部行Linux的Raspberry Pi,還給它搭上了一個外置硬碟。本來想用這樣的配置來做File Server,方便我做Backup、日常取用和其他用途,可是Linux本身並無法與Windows的HomeGroup相容,如果用WinScp、FileZile等來傳檔案的話又比較不方便,更無法直接開啟檔案,所以要另外想些辦法來解決。

其實解決方案早於90年代已經出現,1991年時有一個名叫 Andrew Tridgell 的博士研究生為解決相同問題,特意探取Windows網絡共用所用的Protocol來進行逆向工程,最終編寫出Server Message Block (SMB),使Linux可以與Windows網絡共用相容。由於美國商標注冊的限制,軟件最終取名SAMBA。這個軟件到今時今日仍受Linux用家愛戴,現在就讓我們一起森巴舞吧!

所需軟件:

  • samba
  • samba-common-bin
  • ntfs-3g

Part 1: 掛載外置硬碟

Raspberry Pi用SD卡來作儲存裝置,空間緊拙,實在不適合作為File Server。所以在開始之前,我會先額外教大家掛載外置硬碟:

1. 連接硬碟

首先,當然是要將硬碟接上電腦。對,就是將USB線插上!

然後使用fdisk查看新加的外置硬碟是在哪個接口(需要sudo)。以我為例,現在我的外置硬碟就在/dev/sda1

# sudo fdisk -l

Disk /dev/sda: 2000.4 GB, 2000365289472 bytes
255 heads, 63 sectors/track, 243197 cylinders, total 3906963456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0d0af321

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  3906963455  1953480704    7  HPFS/NTFS/exFAT

2. 掛載硬碟

在掛載之前,我們需要為硬碟劃定一個固定位置,以便共用,現在我會在/media建立一個名為WDMyBook的資料夾,作為外置硬碟的存取點:

# cd /media
# mkdir WDMyBook

接著,就正式將硬碟掛上:

# sudo mount -t ntfs-3g /dev/sda1 /media/WDMyBook

-t後面是指定裝置的格式,因為我的外置硬碟使用NTFS格式,需要ntfs-3g這個driver來進行存取,Raspbian原生沒有這個Driver,需另行安裝:

# sudo apt-get install ntfs-3g

3. 設定開機自動掛載硬碟

現在你只要瀏覽/media/WDMyBook的話應該就可以見到硬碟內的檔案了,不過到你下次重新開機,一切都會打回原型。要每次開機都自動mount上硬碟的話,就要修改/etc/fstab這個開機掛載設定檔:

# sudo vi /etc/fstab

; 請在檔案內加入以下一行:
/dev/sda1       /media/WDMyBook ntfs-3g defaults   0       2

“/dev/sda1″是裝置位置;"/media/WDMyBook"是掛載位置;"ntfs-3g"是儲存格式;"defaults"是掛載時的設定,使用預設已足夠;"0″是dump backup,不用開啟;"2″是fsck 檢驗,優先度設定為2,不用跟主要磁區搶。

現在,你每次開機外置硬碟都會自動掛載好了!

Part 2: 安裝SAMBA

1. 安裝SAMBA

返回正題,我們開始要安裝samba了,我們除了samba主程式外,還需要samba-common-bin來執行需要的功能:

# sudo apt-get update
# sudo apt-get install samba, samba-common-bin

2. 建立帳號

安裝完成後,你需要建立登入的帳號,這裡要注意帳號名稱必須和你在Linux上的帳戶一樣:

# sudo smbpasswd -a USERNAME   ; USERNAME為你的Linux系統上一個用戶的名稱
; 輸入密碼兩次
; smbpasswd是舊式方法,不過亦足夠使用
; 更改密碼也是要用smbpass,但不用輸入-a

; 以下是新式方法
# sudo pdbedit -a USERNAME
; 輸入密碼兩次
; 有關pdedit的其他功能請參考 pdbedit -h

3. 設定smb.conf

現在來到最重要一步,設定你要共用的檔案,設定檔位於/etc/samba/smb.conf,打開後你會發現裡面已經有預設的設定和詳細說明,你可以參考說明自行配置,以下解釋其中一些基本設定。

[global]底下的是系統設定,大多設定都可按預設,但需留意以下參數:

workgroup = WORKGROUP
; 工作群組名稱,WORKGROUP是Windows預設的名稱,所以一般不用更改

security = user
; 設定為user的話就需要使用者登入方可存取檔案,需要設定為user

; 下面是有關共用Printer的設定,在第182行附近,如不用share printer建議這樣設定:
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes

; uncomment下面這句或有助連線速度,這句在207行左右:
socket options = TCP_NODELAY

接著到下面會有[homes]的一項,這是一個特殊項目,會指向使用者的home目錄,設定解說如下:

[homes]
   comment = Home Directories   ; 純粹是目錄描述
   browseable = no   ; 設定此目錄可否被所有人看見,注意這只是看見,並不代表可以進入存取
   read only = yes   ; 設定檔案是否為唯讀,
   ;writable = yes  ; 與read only相反,這兩句只需選擇一個,所以comment out
   create mask = 0700   ; 設定新增檔案的預設權限
   directory mask = 0700   ; 設定新增目錄的預設權限
   valid users = %S    ; 允許存取的使用者,對於homes一般使用%s,這樣就限定使用者只能進入自己的home

以上的設定已經可以讓你進入到自己的home目錄。因為home是使用者的根目錄,等同可以存取使用者的所有個人檔案,因安全性問題所以建議只作唯讀(read only = yes),然後另外設置其他共用資料夾作讀寫。

要設立共用資料夾,做法和上面基本一樣,只是將[homes]改為其他名稱,其他可用的設定基本一樣,你可根據自己需要調節,另外要加上一句"path = xxx"來指定共用資料夾的所指位置。

以下的例子是共用我的外置硬碟,讓使用者"Archer", “King"可以進入並享有正常讀寫權限:

[MyBook]
   comment = External Hard disk on RaspberryPi
   brwoseable = yes   ; 讓任何人都可以看到此目錄
   writable = yes   ; 讓使用者可以修改檔案
   create mask = 0700
   directory mask = 0700
   valid users = Archer, King
   path = /media/WDMyBook   ; 當使用者從網絡進入MyBook後,實際會連到/media/WDMyBook這個位置

你會發現檔案下面還有例如[profiles]、[printers]之類的共用資料夾,但這些我們暫時都不會用到,而且預設也是停用的,所以不用理會。

4. 檢查設定

好了,現在你已經設定好兩個共用資料夾,分別是你自己的home和外置硬碟的空間,接下來你可以用以下指令檢查你的設定是否有誤:

# testparm

假如出現"Loaded services file OK."這句,代表設定基本沒有問題,否則請按錯誤描述進行修正。

當出現"Press enter to see a dump of your service definitions"後,按下enter便會產生一份設定報告供你參考。

5. 重啟服務

最後,只要重新啟動samba的service,samba這一邊就完成啦!

# sudo /init.d/samba restart
[ ok ] Stopping Samba deamons: nmdb smdb.
[ ok ] Starting Samba deamons: nmdb smdb.

Part 3: Windows端連線

辛辛苦苦來到這一步,最重要當然是要讓Windows可以存取Raspberry Pi上的資料啦,接下來的工作就簡單得多了,不過還是有些地方要留心。

1. 透過家用網路連線

當你打開「電腦」後,你應該已經可以在左邊欄的「網絡」內看到新的成員了!

Pi0

當你點選你的新成員(ARCHER-PI),即可輸入使用者名稱和密碼登入,必須注意如果要切換使用者的話會比較麻煩,所以請儘量使用單一使用者存取共用檔案。

登入後你可以看到對登入的使用者共用的資料夾:

Pi1

你可以右擊一個資資夾,將它設定為網絡磁碟機,方便進入:

pi2

然後你可以在「電腦」中看到你的共用資料夾變成了一個網絡磁碟:

pi4

你亦可以在「電腦」上方選擇「連線網絡磁碟機」來手動建立。

2. 切換使用者

要切換到另一個使用者存取只有該使用者方可存取的共用文件,你必須登出,因為一部電腦只能同時使用一個使用者登入到其他電腦。但Windows似乎沒有方便的方法讓你直接登出SAMBA上的使用者,如果要登出,只好透過command將現有所有連線砍掉。

另外,你還要在「電腦」中將所有已連接的網絡磁碟機中斷:

pi6

pi5

然後,在網址列輸入:\\IP or NetName\Username,例如\\Archer-Pi\King,Windows即會嘗試登入另一使用者,輸入使用者名稱和密碼後應該就可以切換了。不過這個方法有時都會失敗,或許需要重新開機方能完全斷開連線。

教學就此完結,有空再教建立VPN的方法,使你可以在戶外安全地經Raspberry Pi連到家用網絡存取資料。


下面來個bouns:Raspberry Pi File Server + 小型影院

DSC_2655