為x-windows自定義一種session管理方案(轉)
摘要:本文提供了一種用shell來實現手工儲存要開啟的檔案列表的方法和思路,並不是像kde那樣死板地開啟上次儲存的session,作者本人覺得這種方法更靈活更使用。
前言
本文提供了一種用shell來實現手工儲存要開啟的檔案列表的方法和思路,並不是像kde那樣死板地開啟上次儲存的session,作者本人覺得這種方法更靈活更使用。
本文適用於任何方式啟動x,但是為了具體操作,本文選種了預設不帶session儲存功能,但是可擴充套件性極強又不失易用性的fluxbox來作為wm。使用startx來啟動x。
本文直接引導讀者怎麼做,也許深入的內容,要自己去思考。另外,本文用到的軟體,都是開源,並且,都假設您已經安裝好了,如果沒有,請自行解決。
我們開始
~/.xinitrc的內容:exec ~/.fluxbox/startup
我的設定編碼等等工作是在.profile裡面做的,如果你喜歡在.xinitrc裡面放也行。
下面就看~/.fluxbox/startup的內容:
# 螢幕保護xscreensaver &# 這個也是要另外安裝的fluxbox的pagerfbpager &# 下面這個是自定義的startup檔案,本文的重點shelltools/./xstartup &# 下面正式啟動fluxboxexec /usr/bin/fluxbox# 如果需要記錄,開啟下面的註釋# exec /usr/bin/fluxbox -log “~/.fluxbox/log”
開始自定義session的載入,我把這個存在一個shell檔案裡面。
下面是這個指令碼~/shelltools/xstartup的內容:
#!/bin/sh# file: ~/shelltools/xstartup# function: starts applications when startx# Items below for gedit startup# 靜態的開啟常用的軟體# input methodfcitx &# applicationsgaim &gkrellm &# opera9 能自動儲存session,很方便opera &rhythmbox &stardict &# 下面紅色部分,已經有更好的方案來實現,見本文末尾增改部分# Open editing files with gedit# 下面開始用gedit開啟正在編輯的檔案gedit &# 從~/shelltools/xstartup-editing-files.list讀取檔案列表,並且用gedit開啟,“#”開頭的是註釋,不過我的grep寫的不好,讀者可以自己改善for openfile in `cat ~/shelltools/xstartup-editing-files.list | grep -v “#”`doeval gedit “$openfile”done# 上面用gedit開啟檔案的方法,當然也適用於開啟其他session# Popup a dialog# 這裡的警告是我個人留待其他用途的zenity –info –text=”Startup finished.”
下面是我的~/shelltools/xstartup-editing-files.list:
# editing-file list# acm~/acm/pku1010.cpp~/acm/pku1010.in# comment~/clipboard.txt~/.fluxbox/startup# shell tools# 開啟這兩個檔案,是為了方便動態維護session列表~/shelltools/xstartup~/shelltools/xstartup-editing-files.list
後記
希望本文對一些人有用,作者本人並沒有很深的經驗,如果有寫錯的地方,請包涵,歡迎指點。
Fluke — http://blog.ospattern.net
Mon Aug 16 23:xx:xx CST 2006
增改部分
對於用gedit開啟檔案列表部分,原來的處理有些漏洞,如果,gedit開啟的速度不夠快,會造成後面的程式先開啟,這樣的話,一次只能編輯一個檔案,因為開啟檔案列表的時候,gedit並沒有被設定在後臺執行,而是獨佔了父程式,解決的方法可以是在執行了gedit &之後,sleep一下。
不過這裡有更好的辦法,gedit支援從命令列引數開啟所有參數列示的檔案。所以,我們只需把檔案列表join到一個變數上,呼叫gedit開啟就好了,具體程式碼如下:
# Open editing files with geditfilelist=”"for onefile in `cat ~/shelltools/xstartup-editing-files.list | grep -v “#”`dofilelist=$filelist” “$onefiledoneeval gedit $filelist
以上修改於Thu Aug 17 14:44:36 CST 2006 on Archlinux
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-940416/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shiro使用自定義session管理器Session
- 自定義轉場動畫(一)動畫
- 利用memcached配置session一致性另外一種方案Session
- PHP 自定義session儲存 FILE 方式類PHPSession
- 記錄一種自定義標籤的用法
- 一行程式碼實現自定義轉場動畫--iOS自定義轉場動畫集行程動畫iOS
- 解決Hibernate session is closed的一種可行性方案Session
- [譯] 為函式自定義屬性的八種實現方法函式
- java 自定義表單設計方案Java
- Django自定義模型管理器Django模型
- 自定義的事件管理器事件
- 11-自定義cell(2種方法)
- 自定義值轉換器
- TransitionAnimation自定義轉場動畫NaN動畫
- 自定義轉場動畫(二)動畫
- 【轉】 java自定義註解Java
- ORACLE 自定義型別[轉]Oracle型別
- 一個例子帶你瞭解兩種自定義註解
- 自定義asp.net控制元件分析 (一) (轉)ASP.NET控制元件
- kill session V$SESSION標記為KILLED 的2種情況Session
- 轉載:在c#中使用sqlite的3種自定義函式C#SQLite函式
- 自定義鍵盤(一)
- WKWebView Cookie管理與資源自定義WebViewCookie
- 自定義佈局管理器-FormLayoutORM
- Android 最簡單的自定義檢視管理之一Android
- jQueryValidate自定義各種驗證方法jQuery
- RecyclerView 裡的自定義 LayoutManager 的一種設計與實現View
- C# 將Excel轉為PDF時自定義表格紙張大小C#Excel
- React中的另一種狀態管理方案ValtioReact
- Javascript框架的自定義事件(轉)JavaScript框架事件
- CSS自定義屬性Expression(轉)CSSExpress
- VC增加自定義訊息 (轉)
- 在Linux中方便地使用不同X-Windows視窗管理器(轉)LinuxWindows
- SAP AET fields的自定義行為
- 為WinEdt自定義XeLatex快捷鍵
- 為bootstrap新增更多自定義圖示boot
- 為Autodesk Viewer新增自定義工具條View
- 【朝花夕拾】Android自定義View篇之(四)自定義View的三種實現方式及自定義屬性詳解AndroidView