打造字元介面的多媒體Linux系統

來源:互聯網
上載者:User
0 環境與目標  硬體:ThinkPad R52筆記本一台。  目標:字元介面的LINUX系統,同時可以看圖片,聽音樂,看視頻,無線上網,重要的是可以聽著音樂編程了!       
注意:本文打造的系統主要是供一個工程師使用,而不是普通網民。1 系統安裝1.1 最小安裝系統

官網下載CentOS 6.4-minimal鏡像,燒錄光碟片安裝系統,系統自身已經支援framebuffer。

1.2 啟動framebuffer支援

修改/boot/grub/grub.conf檔案,增加核心啟動參數 vga=791 ,以啟動framebuffer模式。

1.3 串連Internet,安裝工具

配置有線網卡IP,串連Internet。

yum安裝pciutils,usbutils以查看硬體裝置情況。

yum安裝wget以下載源碼包。

2 我們要聽音樂、看電影、看圖片了2.1 音效卡測試

yum安裝alsa-utils,用來測試音效卡工作情況,系統本身已經支援此筆記本的音效卡,lspci可以看到音效卡資訊。

運行alsamixer命令調整音量大小,運行aplay播放一個wav格式的音頻檔案,發出聲音說明音效卡工作正常了。

2.2 源碼安裝mplayer,支援大多數音視頻檔案

    官網下載mplayer源碼以及編解碼庫,把編解碼庫解壓並把裡面的所有內容(注意不是檔案夾本身,而是解壓後檔案夾裡面的內容)放到/usr/local/lib/codecs/下。

    下載yasm,這個東西編譯mplayer時需要使用,不知道為啥官網上就是下不了,最後從CSDN上下的。

    解壓mplayer源碼,按照README的說明編譯安裝(不需要GUI),編譯時間較長,耐心等待。

2.3 讓mplayer發出聲音

    mplayer使用的是OSS標準的聲音驅動介面,所以需要使用ALSA類比OSS,其實也很簡單,就是如下:

      modprobe snd_pcm_oss

    至此,mplayer已經可以正確播放大多數音視頻了,包括mp3, rmvb。

2.4 控制播放影片的位置和大小

    mplayer -vo fbdev2 -geometry 500:10 -zoom -x 400 -y 300 somemovie.rmvb

    -vo fbdev2的作用是播放視頻的同時,可以通過ALT+F2等切換終端,-vo fbdev則無法切換。

    這樣播放視窗左上方的位置就是(500,10),視窗寬度為400, 高度為300。這樣播放的視頻就不會擋住命令列了,一般工作在命令列下,一邊看著電影,好不愜意!

    上一圖讓大家看看:


2.5 看圖片首先yum安裝libpng和libjpg庫,這樣mgaview才支援png,jpg格式的圖片。然後下載mgaview源碼,編譯安裝即可。注意:編譯時間會出現2個Error,修改對應的源碼即可(加括弧修正)。3 我們要無線上網了3.1 安裝無線工具包 

yum安裝wireless-tools,wpa_supplicant以設定無線網卡接入WIFI。

3.2 安裝無線網卡韌體

系統本身已經能正確載入無線網卡的驅動了,lspci 可以看裝置。但是需要下載ipw2200-bss.fw這個韌體檔案到/lib/firmware目錄下。

運行iwconfig 命令查看無線網卡情況,發現無線網卡名為eth1。

3.3 接入WIFI

運行iwlist scanning命令掃描當前可見的SSID,找到需要的那一個,記下ESSID名字備用。

建立/etc/my_wpa_supplicant.conf檔案,內容如下:

ctrl_interface=/var/run/wpa_supplicant

network={
      ssid="上面記下的ESSID名字"
      psk="WIFI密碼"
  }

運行如下命令串連WIFI

 wpa_supplicant -B -i eth1 -c /etc/my_wpa_supplicant.conf 

運行如下命令擷取IP地址

dhclient  eth1

此時,已經接入WIFI了,通過iwconfig命令查看是否正常。

4 我們要使用串口了(網路工程師需要)4.1 準備USB轉COM轉接頭

我使用的是Z-TEK,預設系統已經有其驅動,lsusb可以看裝置。插入後的裝置名稱是/dev/ttyUSB0.

4.2 安裝minicom超級終端

yum安裝即可。

4.3 設定minicom

運行minicom -s 設定裝置名稱、速率等參數並儲存。

5 截屏工具fbgrab5.1 安裝依賴庫

官網顯示fbgrab依賴與splint, libpng, zlib。其中的libpng,和zlib我們已經安裝了。

對於splint,其實是一個靜態檢測代碼的工具,可以不用的,方法是:

去掉fbgrab的Makefile中的splint行。

5.2 編譯安裝fbgrab

如上所述,解壓後,去掉Makefile中德splint行,直接make,make install。

如下命令就能完成截屏,並儲存為png檔案。 fbgrab 存放路徑/圖片名稱.png。

本文附近中的就是這樣完成的,為了不破壞映像顯示,可以使用fbgrab的-s參數,或者使用ssh遠程登陸操作。

6 我們要使用中文漢字

需要注意:在字元介面下,提倡多多使用英文,盡量少用甚至不用中文。

framebuffer下的漢字終端主要是zhcon和cce。我裝了zhcon,覺得已經夠用了,所以沒安裝cce。

6.1 下載zhcon,並打補丁

zhcon很久沒更新了,仍然停留在0.2.6版本。而且是在0.2.5打補丁升級的。

# tar zxvf zhcon-0.2.5.tar.gz
# gunzip zhcon-0.2.5-to-0.2.6.diff.gz
# cd zhcon-0.2.5/
# patch -p1 < ../zhcon-0.2.5-to-0.2.6.diff 

6.2 煩人的編譯排錯過程

編譯過程不太順利,發現了很多錯誤,但好在都在網上找到瞭解決方法,大概有如下需要修改的地方:

(1)報memset,memcpy錯誤,則 #include <string.h>或#include <cstring>

(2)報abs,atoi,free錯誤,#include <stdlib.h> #include <algorithm>

(3)報term.h找不到,則需要安裝ncurses-devel庫

(4)報tgetent錯誤,則在./configure之前,export LIBS=" -lncurses"

(5)報IF_MASK錯誤,則
           #define VIF_MASK        0x00080000 
           #define IF_MASK         0x00000200
           #define IOPL_MASK       0x00003000
           #define TF_MASK         0x00000100


(6)如果還有其他錯誤,就google吧,不要baidu,百度很難找到合適的答案。

6.3 UTF8編碼下使用zhcon

zhcon --utf8

7 我們要瀏覽網頁需要注意的是,字元模式下只能瀏覽簡單的網頁,主要目的是找到一些下載連結,複雜網頁請不要嘗試!字元介面瀏覽網頁主要是lynx和w3m。安裝lynx後感覺還可以,就沒有安裝w3m。7.1 yum安裝lynxyum install lynx7.2 lynx和zhcon合作瀏覽中文網頁

zhcon --utf8

lynx www.baidu.com8 幹點正事吧,我們要編程了我們以c/c++說明。8.1 編譯器與makeLinux下就使用gcc吧,自動化編譯別忘了make。yum安裝方便無比。8.2 編輯器emacs和vim最流行,我本人習慣vim。yum安裝之。vim實在太強大了,這裡不說了,後面有個。附錄:系統啟動並執行幾個

圖0 運行命令alsamixer測試調整音效卡


圖一 運行命令mplayer -zoom -x 400 -y 300 影音檔案.rmvb

圖二 運行命令為 mgaview 圖片檔案名稱


圖三 運行zhcon --utf8 進入中文終端, CTRL+ALT+SPACE啟動中文IME。


圖四 運行命令zhcon --utf8,然後lynx www.baidu.com


圖五 vim進行代碼編輯



vesa相容的模式:

Depth 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
4 bits ? ? 0x302 ? ? ? ?
8 bits 0x300 0x301 0x303 0x305 0x161 0x307 0x31C
15 bits ? 0x310 0x313 0x316 0x162 0x319 0x31D
16 bits ? 0x311 0x314 0x317 0x163 0x31A 0x31E
24 bits ? 0x312 0x315 0x318 ? 0x31B 0x31F
32 bits ? ? ? ? 0x164 ? ?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.