發表文章

目前顯示的是有「ubuntu Linux」標籤的文章

使用 pppd 連接 VPN 時連線凍結

本來都是用學校的 Junos Pulse SSL VPN  連線到學校查論文,不過最近學校的SSL VPN一直壞掉,所以只好自己在 Lab 的電腦上裝 PPTPD。不過問題來了,用 Network Manager 連進去都可以,可是用 pppd 連線時確一直無法上網,不過倒是可以 ping 到 server。 比對了一下 routing table 發現是一樣的,而且我有在/etc/ppp/ip-up.d 底下加上了 01-route.sh,所以會把所有的 traffic route 到 ppp 去 #!/bin/bash route del default wlan0 route add default $1

Ubuntu Pary @Taipei

這是我第一次參加說 真的是很有收獲啊! 然後終於看到Carl的真面目了 跟我想像的完全不一樣XD 認識了好多高手也看到了好多高手的真面目啊 Jserv, BlueT, c9s, 佑子, mosky, Carl ... 還有好多強大的大家! 印像比較深刻的是一位寫Muilti Touch TouchPad driver的工程師 整個就是強大! 跟他談完整個就是熱血沸騰啊! 我一定要好好加油 向他們看齊!

HowTo: Compile BFS Kernel

BFS 是什麼? 請參考 LinuxToy 如何為核心打patchPatch 1.從 The Linux Kernel Archives 下載最新的核心(2.6.31) 2.從 這裡 下載最新的BFS Patch 3.解壓縮 tar -jxf linux-2.6.31.tar.bz 4.打入Patch(假設我下載的kernel和patch放在同一層資料夾) cd linux-2.6.31 patch -p1 < ../2.6.31-sched-bfs-300.patch 5.將原始碼移到/usr/src(這個步驟也可以不要,只是如果利用make-kpkg指令建立deb的話,他會建立一個符號連結到原始碼的資料夾,所以假如你編好後刪掉原始碼資料夾,就找不到原始碼囉~) sudo mv linux-2.6.31 /usr/src 設定編譯參數 1.建議使用原本distro的設定就好 sudo cp /boot/config-$version /usr/src/linux-2.6.31/.config 2.安裝相依套件 sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot wget bzip2 3.menuconfig make menuconfig 這時會出現一個設定畫面,如果要套用distro的設定:將游標移到最下面Load an Alternate Configuration File,接著他會要求你輸入檔名,直接使用剛剛複製的.config就可以了 接下來設定是選擇性的,以下操作可以使桌面延遲減到最低,但會降低穩定性。要不要就看你自己囉,是說我到現在沒出過問題~ * 到Processor type and features -> Tickless System (Dynamic Ticks) 對他按空白鍵直到變成空白 * 到Processor type and features -> Preemption Model (Preemptible Kernel(Low-Latency Desktop)) -> 選擇 Preemptible Kernel (Low-Latenc...

Linux 死機救援

如果遇到ctrl alt backspace/f1也沒反應的話 那是Xorg掛了 之前有一陣子常遇到 只好強制關機... LinuxToy上出現了一篇新方法 引用如下: OK,这是今天才学到的方法,叫做 reisub,这个方法可以在各种情况下安全地重启计算机。大家在键盘上找,可以找到一个叫做“Sys Rq”的键,在台机的键盘上通常与 Prt Sc 共键,在笔记本可能在其他位置,如 Delete。以台机为例,要使用这种方法需要按住 Alt-Print(Sys Rq),然后依次按下 reisub 这几个键,按完 b 系统就会重启。 下面解释一下这个方法:其实 Sys Rq 是一种叫做系统请求的东西,按住 Alt-Print 的时候就相当于按住了 Sys Rq 键,这个时候输入的一切都会直接由 Linux 内核来处理,它可以进行许多低级操作。这个时候 reisub 中的每一个字母都是一个独立操作,他们分别表示: unRaw 将键盘控制从 X Server 那里抢回来 tErminate 给所有进程发送 SIGTERM 信号,让他们自己解决善后 kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭 Sync 将所有数据同步至磁盘 Unmount 将所有分区挂载为只读模式 reBoot 重启 这6个字母的顺序是不可以记错的。那怎么记呢?这里提供一个个人认为比较好的方法:单词 busier(busy 的比较级,更忙)倒过来就是了。 基本上就这样了,Linux 的死机本来就不多见,现在见了也可以安全解决,多好~ http://linuxtoy.org/archives/what-to-do-if-linux-crash.html

Building deb with dpkg-deb

之前在ubuntu-TW上看到hepha大把剛釋出的pps for linux打包成了deb 很好奇這是如何達成的,之前只聽說過可以用checkinstall從source建立deb 後來終於 查到了 主要是利用dpkg-deb這個指令 你必去建立一個資料夾然後將需要的檔案按照檔案系統架構把檔案加入 假設我建立一個資料夾叫做debain 我想將一個程式test封裝進去,而test應該放在/usr/bin/test 所以我就必須建立debian/usr/bin然後把test複製到debian/usr/bin 然後還需要一個control檔 [control] Package: Version: Section: Priority: Architecture: Depends: Suggests: Conflicts: Replaces: Installed-Size: Maintainer: Description: 不需要全部都填 然後放在 debain/DEBIAN裡頭 註:DEBIAN下可包含檔案 control, prerm, postinst 接著 fakeroot dpkg-deb --build debian 然後就產生了一個deb封裝啦! P.S.可以用ar x *.deb來解開一個封裝 流程from http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/ Prerequisite files: 1. one or more binary executable or shell script files 2.a man page for each executable file 3.a 'control' file 4.a 'copyright' file 5. a 'changelog' and 'changelog.Debian' file Setup temporary 'debian' directories: 1. create 'd...

Loop-AES-Crypto

For ubuntu, you need package 'loop-aes-utils' and 'cryptsetup' apt-get install loop-aes-utils apt-get install cryptsetup First, modprobe aes modprobe cryptoloop There are two ways to get this work: Old way: using losetup losetup -e aes /dev/loop0 $YOUR_LOOP_FILE Format the loop device: mkfs -t ext2 /dev/loop0 Journaled filesystems are reported to have bad problems with cryptoloops, so I use ext2 instead. Now you can mount the crypted device mount /dev/loop0 $MOUNT_POINT umount: umouunt /dev/loop0 losetup -d /dev/loop0 Usage: Mount: losetup /dev/loop0 $YOUR_LOOP_FILE mount -t ext2 -o encryption=aes /dev/loop0 $MOUNT_POINT Umount: umouunt /dev/loop0 losetup -d /dev/loop0 New way Using device mapping You must enable two voices when compiling kernel: device mapper support and its sub-voice crypt target support. ubuntu enabled these two options by default First modprobe loop modprobe dm-crypt Setup loop device losetup /...

Conky

圖片
Conky介紹 其實簡單來說,就是一套系統監控軟體,可以把目前系統資訊顯示在桌面上 我的配置主要來自 這裡 ,在加上一些自己的修改,漂亮吧:)

[筆記] Ubuntu系統優化

為了讓Linux變得更方便 Ubuntu已經變成了很肥的發行版本了 導致系統效率低落 下列是可以優化系統的方法: 整理自: http://forum.ubuntu.org.cn/viewtopic.php?t=52012 http://www.wmfield.idv.tw/430 1.平行啟動程序 正常ubuntu開機時僅使用單一核心 這將會使啟動程序並行,加速啟動過程 sudo kate /etc/init.d/rc (注意:這裡用gedit打開可能是亂碼,換個編輯器,如nano,vi什麼的就ok了) 找到並修改該行: CONCURRENCY=none 為: CONCURRENCY=shell 確保你的拼寫正確,寫錯一個字母你將無法啟動!!! 如果你使用的是SATA 或SCSI,這個方法會發揮最大的作用,然而即使像我使用ATA這樣的機器上,這個方法也使得的GDM登錄界面出現的更快了一些。 如果你使用很老的硬件,這個方法也可能會使你的機器啟動變慢。 2.swappiness Ubuntu默認的vm.swappiness值是60,這一默認值已經很合適了。但你可以改小一些降低swap的加載,系統性能會有一點點的提升 輸入: 代碼: sysctl -q vm.swappiness 你會看到值是60, 更改: 代碼: sudo sysctl vm.swappiness=10 這樣你就將值由60改為10,這可以大大降低系統對於swap的寫入,建議內存為512m或更多的朋友採用此方法。如你你發現你對於swap的使用極少,可以將值設為0。這並不會禁止你對swap的使用,而是使你的系統對於swap的寫入儘可能的少,同時儘可能多的使用你的實際內存。這對於你在切換應用程序時有著巨大的作用,因為這樣的話它們是在物理內存而非swap分區中。 如果你想永久得改變這一值,你需要更改 sysctl.conf 文件: sudo kate /etc/sysctl.conf 添加: vm.swappiness=10 到末行,需要重啟生效。 我發現對於我的1G內存,將此值設為5是最合適的。 3.關閉IPv6 現在的網路幾乎都還在使用IPv4故可以先關閉IPv6 sudo vi /etc/modpr...

用tmpfs加速你的Firefox!

其實就是Windows底下的RAMDISK 在/etc/fstab內加入 # RAMDISK tmpfs /tmp tmpfs defaults 0 0 然後下指令 sudo mount -a 加速Firefox: 在Firefox網址列輸入about:config 然後按右鍵新增字串: browser.cache.disk.parent_directory 然後輸入值: /tmp 這樣以後Firefox的暫存資料夾就會在tmpfs裡了 還有一個更賤方法 開機的時候把Firefox整個複製到tmpfs裡 然後飛快阿!! 方法: 先到Mozilla下載Firefox檔案 解壓所後放到你自己想要的地方 注意:你可能必須先將外掛程式複製到這個firefox中 cp -H /usr/lib/mozilla/plugins/* 下載來的firefox資料夾/plugins 建立一個shell script: loadfirefox.sh 內容 # load firefox to tmpfs homedir=/home/你的帳號 do_start() { cp -a 你放Firefox的地方 /tmp #cp -a $homedir/.mozilla /tmp/firefox #sudo rm -r $homedir/.mozilla #ln -s /tmp/firefox/.mozilla $homedir/.mozilla sudo chown -R 你的帳號:你的帳號 /tmp/firefox } #do_stop() #{ #if [ -e /tmp/firefox/.mozilla ]; then # rm $homedir/.mozilla # cp -a /tmp/firefox/.mozilla $homedir #fi #} case "$1" in start|"") do_start ;; restart) #do_stop do_start ;; stop) #do_stop ;; *) ...

[筆記] 完整刪除惱人的SCIM

直接移除language-support-zh和language-support-input-zh sudo dpkg --purge --force-depends language-support-zh language-support-input-zh 移除scim sudo apt-get remove --purge scim; sudo apt-get autoremove --purge 安裝gcin和language-support-font-zh和language-support-translations-zh sudo apt-get install language-support-fonts-zh language-support-translations-zh

Show一下新桌面(With Global Menu)

圖片
包含下列套件: Mac4Lin V1.0 Cairo Dock V2.0 Gnome Global Menu Chwp V0.2.0 這是Global Menu的效果喔 注意看Gnome Panel的工具列出現在最上方,跟Mac一樣^^

[筆記] ubuntu flash 中文字體亂碼

這個實在有點扯了 8.04就有的問題現在還在 只記得有一次8.10灌完後沒看到 可是過不久有出現了 然後因為我沒寄那個檔案名稱 又不想每次還要去google 筆記一下吧 sudo vi /etc/fonts/conf.d/49-sansserif.conf 把sans-serif改成sans serif或換成其他字體就行了!

Ubuntu 9.04 試用心得

之前怕還不穩,在加上想要fresh install 所以一直沒有升級 但nvidia顯卡177的bug實在搞得我受不了了 感脆把8.10封起來(就是用clonzilla備份起來的意思) 升到了9.04 由於是直接升級,所以檔案系統還是ext3 無法享受到ext4的快速 但光是9.04在UI上的變化就夠令人驚豔了 先是nvidia driver升級到180 Bug終於消失了 這是我最在意的 然後還有新的通知模式:超級漂亮的!!! GNOME升級到了2.26.1 按鈕元件的形狀似乎有稍微改過 fontconfig的設定也自動最佳化了 看起來很舒服 然後還有一個驚人的改進:就是Qt的介面 之前Qt不管怎麼樣看起來都不像Gtk的應用程式 就像軟體中的外星人 怪難看的 結果我一打開發現變漂亮了 稍微看一下,才發現介面竟然看起來和原生的Gtk差不多 連檔案瀏覽器也是用Gtk的 實在太爽了 對了Qt是4.5最新版 以後一定要學好Qt :) 大致上就這樣了 整體的感覺很不錯 打算期中考完再來個fresh install 實在是受不了ext3了 慢的要死... 加油!

chwp 0.2.0 Released!

http://berelent.blogspot.com/2008/12/shell-script.html 已經更新到0.2.0了 加入了許多新功能 有興趣自己下載來用吧!

MSN 8.5 with WINE on Ubuntu 8.10 !!!

圖片
剛看到的 試了一下 竟然可以!! 不過可能是因為Big5的關係 中文有些會有亂碼 重新打一次就可以了! http://www.wine-reviews.net/wine-reviews/microsoft/msn-messenger-2008-and-2009-on-linux-with-wine.html

好用的ufw

一直以來都是用firestarter來做防火牆設定(不會iptables阿!!) 可是firestarter有一個非常麻煩的地方: 就是假如我的網卡介面從wlan0換到eth0或是換回去的時候就要重新設定一次,由於用的事筆電,常常切換無線/有線網路,所以用firestarter真是非常麻煩 於是Google了一下,找到了ufw這個東西 ufw 就是Uncomplicated Firewall的簡稱,同樣是iptables的前端程式 CreMacker大的網誌有詳細介紹 http://cm-life.blogspot.com/2008/05/ufw.html 而ufw其實是有圖形畫介面的,叫作gufw 用synaptic搜尋或sudo apt-get install gufw 如果是個人電腦用的話,只要 sudo ufw enable sudo ufw default deny 就可以了 不過其實還有個問題 在enable後,我重新開機ufw並沒有自動啟動 把firestarter停掉也是一樣(sudo update-rc.d -f firestarter remove) Google了一下也沒結果 結果後來在一次開機中發現: 一開始sudo ufw status Status: loaded 過了不久就變成 Status: not loaded 推測是firestarter在搞鬼 於是把firestarter移除了,重新開機 ufw 就自動啟動了!! 省去了firestarter切換設定的麻煩 愉快使用!!!

英文課報告

講的是OS --->幾乎都是我在撐... 沒關係 我講的很嗨 這是投影片 自行參考吧 比較可惜的是時間不夠多 不然就可以大力推廣Linux ~~XDD

終於

Vista真的難用到爆,好久沒回去 一回去就覺得慢到爆 更新完後莫名其妙的掛了,似乎修不回來,也懶的修 所以乾脆就來個二一添作五 直接砍了 只有一個字可以形容"爽"! 目前暫時不鳥windows了 反正也用不到,頂多開Virtualbox吧 等Ubuntu 9.04出來,在把他灌到sda1去。

[轉貼] 學習linux幾點忠告

原文網址: http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=739 1. 不要當「傳教士」 很多人在討論區不斷的引起 "Linux vs. Windows" 之類的討論,甚至爭的面紅耳赤,這是沒有必要的。 這種爭論是浪費時間而沒有任何用處的。對,你花了一下午,用許多事實「捍衛」了 「Linux 比 Windows 好」 這個說法。但是 Windows 的支持者並不會喜歡上 Linux,他們只是稍微退縮一下,然後找一些新的證據來跟你辯論。 世界上的人們都在利用 Linux 研究最前沿的科學,我們還在這裡討論 「要不要用 Linux」 這種無聊的問題,什麼時候才能趕上時代前進的步伐? 什麼叫做「Windows 支持者」,什麼叫做「Linux 支持者」?我們為什麼要支持某一個而反對另外一個?你不需要為 Linux 「護法」,不需要成為「Linux 支持者」或者「GNU傳教士」,GNU/Linux 已經用事實向世界證明了它們的威力,已經被大多數人接受。你只需要安安靜靜享受 GNU/Linux 給你的樂趣和自由。 你需要關心的不是你的工具是什麼,而是你用它做了什麼。精通 Linux 並不說明任何問題,因為它只是一個工具而已。如果你用 Windows 能很好的完成你的任務,那你就沒有必要費時間去熟悉 Linux。直到有一天你發現一項任務只有 Linux 才能完成的時候再換也不遲,因為你身邊的 Linux 的愛好者一定會很樂意的幫助你。 工具不是人,不應該對工具有感情。這是你在進行任何對工具的討論前需要提醒自己的事情。面對一些容易引起爭論的東西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome, FVWM 和 KDE;Mutt 和 Pine …… 一定要冷靜的對自己說:「我不站在它們任何一邊,因為它們不是人。」 各人的需要不同,生活的環境不同。對你來說好的東西,對別人來說不一定好,我們需要尊重別人的選擇。如果你當面說別人正在用的程序不好,沒有人會樂意接受你的意見。我從來沒有建議過我爸爸不用 Windows + WPS,而用 Linux + LaTeX 來處理他的英語試卷。因為 WPS 是我爸爸的選擇,他能用 W...

Creating C/C++ Development Environment using VIM

圖片
VIM是一個非常強大的文字編輯器,最重要的是:他是開源的,而且跨平台 所有的編輯動作都是用鍵盤完成,省去了用滑鼠移動的時間 所以寫程式的速度就可以大大的加快 自從開始學用VIM後,越來越感覺到他的強大 尤其配合regexpr,真是非常方便 而這是許多圖形介面編輯器無法達成的 聽幾個在清交的同學說他們上課都連到終端機用VIM(他們每個人都有一個Sun主機的帳號)!!! 可見那些教授非常有遠見,趁早熟悉一個文字編輯器真是非常有用 而且你幾乎在任何GNU/Linux or UNIX-Like OS上都可以看到Vi 所以學起來是一個好用的工具阿!! 如圖這是VIM加上 c.vim plugin 的效果 當然也用了ctags c.vim這個plugin的功能非常強大 幾乎可以變成一個IDE了 他自己是這麼說的:c.vim : C/C++ IDE -- Write and run programs. Insert statements, idioms, comments etc. 不過當然很多功能我不會用到 圖中所看到的是VIM的視窗分割編輯功能 可以在同時間內編輯多份檔案 c.vim的dict檔配合VIM dictionary的功能 就有了自動補齊功能 顯示你所看到的,有一點像圖形介面IDE的下拉式選單,真是非常強大 不過我覺得最好用的功能是tag功能了 我用的是exuberant-ctags(ubuntu的套件庫可以找到) 他可以自動建立tags檔 於是就有類似超連結的功能了!!! 最近開始看依些程式碼 一看昏倒,光是程式的入口就不知道哪裡找 那麼多個*.c檔案 根本無從找起 或是有時候裡面調用某個函數,但他的定義是在另一份原始碼裡 那更難了 昨天還在煩惱這件事 但發現有ctags這個東西后就方便多了 只要ctags -R ./* 就會自動建立一個tags檔 然後當我看到某個函數,要找他的定義時 只要對著他按CTRL-]就可以連結到那個函數定義的位置(如果是在另一個檔案的話vi會自動打開他) 然後按CTRL-T就可以回到原本的地方了 真是非常方便!!