轉兩好文防丟:Debian 版本升級/降級 & Linux 應用程序失去輸入焦點問題的解決

Debian 版本升級/降級

最近筆記本的 Debian 系統不太正常,老是在程序切換的時候鍵盤丟失。例如從瀏覽器切換到 konsole 時,沒法輸入,在 konsole 中經過建立新標籤並在不一樣標籤頁中切換後,纔可以繼續輸入... 這個問題非常困擾,聯想到最近從 sid (Debian 不穩定發行版)作了升級,難道是升級後出現的 bug? html

題外話:查看磁盤空間,是否有分區已滿

實際上,這應該是當系統出現異常後,率先進行檢查的。可是因爲個人疏忽在Debian降級過程當中,才發現 /var 卷已滿,當執行 apt-get clean 命令後,釋放了 5 GB以上的空間。 因此程序切換鍵盤丟失,究竟是由於 Debian 從不穩定版升級形成的,仍是由於 /var 卷已滿形成的,已經查無實據。

Debian 混雜版本

所謂 Debian 混雜版本,就是在一個 debian 系統中,安裝的軟件包不屬於同一個發行版(distribution),有的可能屬於 stable(當前代號是 lenny),有的屬於 testing (當前代號 squeeze),或者有的軟件包屬於不穩定版(代號 sid)。 Debian 的 APT 能夠設置升級的默認發行版。能夠建立一個文件,如: /etc/apt/apt.conf.d/01defaultrelease ,其內容爲:
APT::Default-Release "testing";
APT::Cache-Limit "141943904";
這樣在用 aptitude 升級時,默認從 testing 版本進行升級;

Debian 版本升級

Debian 版本升級很是簡單:
  • 在 /etc/apt/apt.conf.d/01defaultrelease 中設置默認發行版。
    APT::Default-Release "unstable";
    APT::Cache-Limit "141943904";
  • 而後,正確配置 /etc/apt/sources.list 中的升級源。例如:
    deb http://mirror.cs.umn.edu/debian/ lenny main contrib non-free
    deb http://mirror.cs.umn.edu/debian/ testing main contrib non-free
    deb http://mirror.cs.umn.edu/debian/ unstable main contrib non-free
    deb http://mirror.cs.umn.edu/debian/ experimental main contrib non-free
    deb http://security.debian.org/ stable/updates main
    deb http://security.debian.org/ testing/updates main
  • 最後,執行命令:
    $ sudo aptitude update
    $ sudo aptitude dist-upgrade

Debian 版本降級

Debian 版本降級相比升級,要難許多。試着經過修改 APT 的 Default-Release,而後用 aptitude dist-upgrade,可是沒法知足降級的須要。能夠用下面的方法實現降級:
  • 在 /etc/apt/apt.conf.d/01defaultrelease 中設置默認發行版。
  • 而後,正確配置 /etc/apt/sources.list 中的升級源。
  • 執行 apt-get update 更新源的軟件包列表。
  • 查看當前軟件包安裝狀況:安裝了哪些軟件包,分別屬於哪一個發行版,版本號是什麼?
    $ apt-show-version > apt-show-version.list
  • 查看文件 apt-show-version.list,篩選出須要降級的軟件包,再一一手動進行降級。降級可能須要使用命令:
    • apt-cache policy <PACKAGE>
    • aptitude install <PACKAGE>=<VERSION>

後記

關於輸入焦點丟失,鍵盤輸入不響應的問題,其實並無在這次 Debian 版本降級(sid --> testing)的過程解決。若是從sid 降級到 lenny,應該可以解決,可是我實在是捨不得 KDE4 的 3D 桌面等特效。 最終這個問題的解決,參見博客:Linux 應用程序失去輸入焦點問題的解決瀏覽器

============================== spa

一併插入第二篇文章: .net

Linux 應用程序失去輸入焦點問題的解決

最先在這個博客( Debian 版本升降級)中就已經提到了,在 Debian 版本升級後,發現部分應用在 Alt-Tab 切換時,輸入焦點失去,沒法進行切換。當時覺得版本降級能夠解決,可是由於最終沒有找到具體是哪一個包形成的,又不想將系統回退到 Lenny,最終個人筆記本一直帶病工做,最近不少同事的機器都已經傳染了這個毛病,今天終於解決了這個問題。 簡單的一句話:卸載 scim,安裝 fcitx 輸入法。  輸入焦點的丟失,在 Koncole (KDE 最好用的終端軟件) 和 FreeMind (腦圖軟件) 最爲明顯:
  • Alt-Tab 切換到其餘應用(如 firefox),再用 Alt-Tab 切換回來,Konsole 或者 FreeMind 將再也不響應鍵盤輸入;
  • Konsole 支持多標籤瀏覽,經過點擊其餘標籤,按下 Shift + 左右方向鍵,切換標籤能夠從新得到輸入焦點;
  • FreeMind 也能夠經過多標籤的切換,而後按下 Esc 鍵,鍵盤從新響應,或者鼠標點擊任意節點,右鍵菜單選擇編輯亦可得到輸入焦點;
你看,個人筆記本就是一直這樣帶病堅持工做,天天花在重獲焦點的時間很是客觀。和幾個同事商量,必定要解決。 用了 xev 等事件診斷軟件,包括藉助 Google,最終懷疑的目光落在輸入法上。這麼一個明顯的 Bug,若是在互聯網上沒有被討論的鋪天蓋地,那麼必定是隻影響少數人的應用。SCIM(中文輸入法)就是這種應用。 解決辦法是完全卸載 scim,安裝 fcitx (小企鵝輸入法):
$ sudo aptitude remove scim
$ sudo aptitude install fcitx
# 配置小企鵝輸入法爲默認輸入法
$ sudo im-switch -c
相關文章
相關標籤/搜索