用Python和Conky做個(gè)電子相冊度宦,美化你的Linux桌面

現(xiàn)在手機(jī)的拍照功能日趨強(qiáng)大踢匣,每個(gè)人電腦上想必都至少有幾十個(gè)G的照片吧。全打印出來實(shí)在是太費(fèi)錢了戈抄。而閑置的舊電腦完全可以利用起來播放這些照片离唬。下面就介紹利用Conky和Python實(shí)現(xiàn)隨機(jī)播放相片的功能

Conky

Conky是一個(gè)顯示系統(tǒng)狀態(tài)的Linux軟件,可以圖形化顯示CPU, 內(nèi)存划鸽,網(wǎng)絡(luò)流量等输莺。下面是一個(gè)來自官方網(wǎng)站的示例圖。


conky.png

它的配置文件語法很簡單裸诽,分為配置和顯示兩部分

conky.config={
 own_window=true,
   own_window_class='Conky',
   own_window_type='override',
   own_window_colour='ffffff',
   own_window_transparent=true,
   double_buffer=true,
  update_interval=1,
  use_xft=true,
};

conky.text = [[
 ${execpi 300 /home/lxq/myscripts/change_photo.py}
]]

conky.config里面是實(shí)現(xiàn)顯示圖片的必要部分嫂用。conky.text 則是用execpi每300秒調(diào)用一個(gè)Python代碼顯示圖片。 把上面的代碼保存為一個(gè)文件conkyfile崭捍。 執(zhí)行conky -c conkyfile 即可

Python端代碼

change_photo.py 必須返回${image sample.jpg -p 20, 400 -s 400x400} 這樣的格式尸折。sample.jpg 可以替換成你需要的照片的完整文件路徑。p參數(shù)即position殷蛇,照片在conky顯示區(qū)域的相對位置实夹。 s參數(shù)為size,即照片的寬度和高度粒梦。

下面是change_photo.py的完整代碼

#! /usr/bin/python3
import os,random
from PIL import Image
from PIL import ExifTags

def rotate(image):
   for orientation in ExifTags.TAGS.keys() :
       if ExifTags.TAGS[orientation]=='Orientation' : break
   exif=dict(image._getexif().items())

   if   exif[orientation] == 3 :
       image=image.rotate(180, expand=False)
   elif exif[orientation] == 6 :
       image=image.rotate(270, expand=False)
   elif exif[orientation] == 8 :
       image=image.rotate(90, expand=False)
   return image

folder="/home/user/photo/Camera"

photo=random.choice([f for f in os.listdir(folder) if f.endswith(".jpg")])

photo=os.path.join(folder,photo)

img=Image.open(photo)
img=rotate(img)
img.thumbnail((500,700))
tmpimage=os.path.join("/tmp","slide.jpg")
img.save(tmpimage)

img=Image.open(tmpimage)
width,height=img.size


print(photo)
print(f"${{image /tmp/slide.jpg -p 10,420, -s {width}x{height} -n }}")
  1. bash會讀取第一行亮航,拿到python的完整路徑,然后執(zhí)行下面的代碼匀们。記著 要執(zhí)行chmod +x change_python.py 缴淋,給這個(gè)python可執(zhí)行權(quán)限。
  2. 智能手機(jī)和部分高端相機(jī)有傳感器可以感知你拍照時(shí)是橫拍還是豎拍泄朴,然后存在相片的exif信息里重抖。rotate函數(shù)會讀取照片的exif獲取拍照方向信息,然后旋轉(zhuǎn)照片到正常角度祖灰。不然就會顯示倒立的人了钟沛。
  3. 第19行,指定你的照片目錄地址局扶,注意是完整路徑恨统。
  4. 第21行,random.choice 會從列表中隨機(jī)選擇一個(gè)三妈。 這里要過濾一下畜埋,只取jpg文件。
  5. thumbnail 會生成縮略圖并保持圖片比例
  6. 第29行畴蒲,存到tmp目錄中
  7. 第32行悠鞍,取出圖片寬度和高度
  8. 第36行,輸出Conky需要的格式

小結(jié)

Conky是很強(qiáng)大的工具模燥。雖然官方推薦lua狞玛,但你可以用你喜歡的任何開發(fā)語言輸出它支持的格式。Python有足夠的庫可以很快的開發(fā)涧窒,就差你的想象力了心肪。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市纠吴,隨后出現(xiàn)的幾起案子硬鞍,更是在濱河造成了極大的恐慌,老刑警劉巖戴已,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件固该,死亡現(xiàn)場離奇詭異,居然都是意外死亡糖儡,警方通過查閱死者的電腦和手機(jī)伐坏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來握联,“玉大人桦沉,你說我怎么就攤上這事每瞒。” “怎么了纯露?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵剿骨,是天一觀的道長。 經(jīng)常有香客問我埠褪,道長浓利,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任钞速,我火速辦了婚禮贷掖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘渴语。我一直安慰自己苹威,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布遵班。 她就那樣靜靜地躺著屠升,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狭郑。 梳的紋絲不亂的頭發(fā)上腹暖,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機(jī)與錄音翰萨,去河邊找鬼脏答。 笑死,一個(gè)胖子當(dāng)著我的面吹牛亩鬼,可吹牛的內(nèi)容都是我干的殖告。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼雳锋,長吁一口氣:“原來是場噩夢啊……” “哼黄绩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玷过,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤爽丹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辛蚊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粤蝎,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年袋马,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了初澎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡虑凛,死狀恐怖碑宴,靈堂內(nèi)的尸體忽然破棺而出软啼,到底是詐尸還是另有隱情,我是刑警寧澤墓懂,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布焰宣,位于F島的核電站霉囚,受9級特大地震影響捕仔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盈罐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一榜跌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盅粪,春花似錦钓葫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奠骄,卻和暖如春豆同,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背含鳞。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工影锈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝉绷。 一個(gè)月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓鸭廷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親熔吗。 傳聞我的和親對象是個(gè)殘疾皇子辆床,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355