2015年9月6日 星期日

pidgin 上使用 Line 通訊協定傳送訊息與貼圖

Linux 下要玩 Line 大概就幾個解法:
  1. 用 wine 跑 Windows Line client
  2. Chrome 裝官方的 extension
  3. pidgin 裝 pidgin-line plugin
本文講的是第三種解,首先是 plugin 的專案首頁:


http://altrepo.eu/git/purple-line



如果你用 Debian Jessie 又懶得自己 build,可以用作者編譯好的 deb 套件:

purple-line_20150815-1_amd64.deb


登入帳號用 email。id 我不知道為什麼登不進去,登入出錯太多次會被 ban 一段時間。

使用者輸入的訊息會被顯示成兩行一樣的文字,實際送出去的訊息只有一行。對方的訊息送過來不會有問題。

plugin 有實作貼圖的機制,但是沒有實作貼圖的清單。你必須先知道貼圖的 id 才能用特殊命令送出貼圖。

方法就是先用手機 Line 送出一張貼圖,然後在 pidgin 上對貼圖按右鍵加入。這時候會跳出一個視窗告訴你 [LINE sticker ?/????/????? []],問號表示一堆數字,那串就是貼圖的 id。

要送這張貼圖,直接在聊天視窗中打 /sticker ?/????/????? 就可以了,也就是複製 sticker 那串把前後多餘的東西去掉,然後最前面多加一個斜線。


2014年2月12日 星期三

解決 Twitch.tv 播放錄影存檔會讓 CPU 飆高、系統停頓

不知道是 Twitch.tv 的 flash 播放器比較特殊還是怎樣,CPU 使用率比看 Youtube 時還要高很多。尤其是在網頁看錄影存檔的時候,更是會讓 firefox 反應遲鈍,CPU 使用率比收看實況時還要再高出一倍。

在嘗試過幾個針對 Flash player for Linux 的效能調校方法以後,發現以下的設定可以改善這個問題:

在 /etc/adobe/mms.cfg 中加入 WindowlessDisable=true

2013年12月22日 星期日

SONY DUALSHOCK©4 Wireless Controller & Debian Wheezy

已經有很多消息指出 PS4 的手把相容於 PC,不論是走 USB 線還是藍牙都可以正常工作。雖然說部份的功能可能還沒辦法透過 HID 支援啦。

在 Debian Wheezy 上要使用 DS4 手把流程如下:

  1. DS4 按下【PS】+【SHARE】,手把會閃白燈。
  2. Gnome 會提示你要不要授權配對,點 always 以後成功配對。
  3. 執行 sudo hidd --connect btaddr 手動啟用 HID 裝置。(需要裝 bluez-compat,DS4 走 Bluetooth 2.1 + EDR)
    hidd search 會找不到手把,所以要自己啟用。啟用前請確定藍牙已經確實連線,DS4 燈號會持續亮著。

2013年11月6日 星期三

Xlib 防止 gnome-screensaver 啟用

一般來說看影片或者像是用搖桿、手把玩遊戲的時候鍵盤滑鼠都不會有輸入,所以應用程式通常會自動停用螢幕保護程式,以防影片看到一半、電動打到一半被中斷。

在 X window 環境下要實作這個功能,可以每隔一段時間執行以下的 code:
DPMSForceLevel(display, DPMSModeOn);
XResetScreenSaver(display);
XFlush(display);

間隔時間可以取 DPMS 設定或者 xscreensaver、gnome-screensaver 的 timeout:
DPMSGetTimeouts(display, &standby, &suspend, &offtime);
XGetScreenSaver(display, &timeout, &interval, &prefer_blanking, &allow_exposures);

2013年10月24日 星期四

gcc 控制符號的可見性

在某些情況下我們會想要把一些函數或變數隱藏起來,不要讓它們出現在 symbol table 裡。


static

將全域變數或函數宣告成 local,只有該 object file 內的 function 看得到它。有 static 的話會無視 visibility 屬性宣告。


__attribute__((visibility ("hidden")))

全域變數或函數宣告預設是宣告成 global,加上 visibility 屬性後可見性設定為隱藏。編譯期間會標示成 global,但名稱會變成 .hidden function。最後連結產生 shared object 的時候該 symbol 不會出現在 dynamic symbol table,但是會在 symbol table 中出現且標示為 local。如果要做到完全隱藏,產生 shared object 以後要 strip 拔掉 symbol table。


-fvisibility=hidden

同 __attribute__((visibility ("hidden"))),不過這是從編譯器的命令列參數,等於是設定預設的 visibility。

2013年10月17日 星期四

DEB 套件 control 檔 template

Package: 
Version: 
Architecture: 
Maintainer: 
Installed-Size: 
Depends:
Pre-Depends: 
Recommends: 
Suggests: 
Breaks: 
Replaces: 
Provides: 
Section: 
Priority: 
Multi-Arch: 
Homepage: 
Description: 

2013年10月15日 星期二

hplip plugin 備用 mirror

hplip 安裝、設定印表機的時候會到 www.openprinting.org 去抓 hplip-x.xx.x-plugin.run。萬一這個網站掛了,可以到 http://hplipopensource.com/hplip-web/plugin/ 抓一樣的檔案來用。

Debian Wheezy 收錄的是 3.12.6