在 Debian 或 Kubuntu 的預設設定, 按下 PrintScreen 鍵會啟動 KSnapshot, 若再按下一次 PrintScreen, 則會再喚起一個 KSnapshot. 但這不是我想要的行為, 當我按下 PrintScreen 時就代表我想抓圖了, 不停地開啟新的 KSnapshot 有點蠢. 幸好 KSnapshot 有提供足夠的 D-Bus 介面, 這讓我們可以寫一個 script 操作已存在的 KSnapshot.
#! /bin/sh PID=`pidof -s ksnapshot` if [ -z ${PID} ] ; then `which ksnapshot` -caption KSnapshot & exit 0 fi DBUS_SERVICENAME="org.kde.ksnapshot-${PID}" DBUS_PATH='/KSnapshot' DBUS_METHOD='slotGrab' qdbus ${DBUS_SERVICENAME} ${DBUS_PATH} ${DBUS_METHOD}把上述內容存成一個檔案並讓它可執行, 我個人是放到 /usr/local/bin/ksnapshot.sh .
接著修改 System Settings 裡的 Input Action, 把 PrintScreen 對應的命令改成上面那個 script 的路徑即可.
沒想到這個有一點困擾我的東西
回覆刪除在這邊找到解法了
太感謝了!