FrontPage

Gnome 利用時のメモです.

複数の壁紙切り替え

以下の様なXML を壁紙に指定すると複数の壁紙の自動更新が可能になる.

<background>
  <starttime>
    <year></year>
    <month></month>
    <day></day>
    <hour></hour>
    <minute></minute>
    <second></second>
  </starttime>
  <static>
    <duration></duration>
    <file></file>
  </static>
  <transition>
    <duration></duration>
    <from></from>
    <to></to>
  </transition>
</background>

でも書くのはとても面倒.以下のCreBS を使うとGUI でお手軽に作成できる.

コマンドでのスクリーンセーバ操作

$ gnome-screensaver-command --help
用法:
  gnome-screensaver-command [オプション...]

ヘルプのオプション:
  -h, --help                 ヘルプのオプションを表示する

アプリケーションのオプション:
  --exit                     スクリーンセーバーを強制終了する
  -q, --query                スクリーンセーバーの状態の問い合わせ
  -t, --time                 スクリーンセーバーが起動するしている時間を問い合わせる
  -l, --lock                 起動中のスクリーンセーバーに今すぐ画面をロックさせる
  -c, --cycle                スクリーンセーバーが起動されていたら別のグラフィックス・デモに切り替える
  -a, --activate             スクリーンセーバーを有効にする (ブランク・スクリーン)
  -d, --deactivate           有効になっているスクリーンセーバーを無効にする (ブランク・スクリーン解除)
  -p, --poke                 Poke the running screensaver to simulate user activity
  -i, --inhibit              スクリーンセーバーの起動を抑制する (これが有効な場合はコマンドが無視される)
  -n, --application-name     スクリーンセーバーを抑止するアプリケーションを呼び出す
  -r, --reason               スクリーンセーバーを抑止するための理由を指定する
  -V, --version              このアプリケーションのバージョンを表示する

スクリーンセーバ抑制は,

$ gnome-screensaver-command -i &

抑制解除は,

$ killall gnome-screensaver-command

とか. #もう少し良い方法はないものか…
外では5分でスクリーンセーバ起動.自宅ネット環境では抑制にこれを利用.

D-Bus で制御

スクリーンセーバ解除

$ dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:false

スクリーンセーバ起動

$ dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:true

抑制も出来ないかな?

スクリーンショットの取得

gnome-screenshot

$ gnome-screenshot -h
用法:
  gnome-screenshot [オプション...] 画面全体のスクリーンショットを撮る

ヘルプのオプション:
  -h, --help                       ヘルプのオプションを表示する
  --help-all                       ヘルプのオプションをすべて表示する
  --help-gtk                       GTK+ のオプションを表示する

アプリケーションのオプション:
  -w, --window                     画面全体ではなくウィンドウ単体を取得する
  -a, --area                       画面全体ではなく一部を取得する
  -b, --include-border             スクリーンショットにウィンドウの境界線を含める
  -B, --remove-border              スクリーンショットからウィンドウの境界を取り除く
  -d, --delay=秒                   指定した時間を経過してからスクリーンショットを撮る [秒単位]
  -e, --border-effect=画像効果     境界線に適用する画像効果を指定する (shadow, border, none)
  -i, --interactive                設定ダイアログを表示する
  --display=DISPLAY                使用するXのディスプレイを指定する

i option で対話式に利用できるので大抵間に合う.
Screenshot-スクリーンショットの取得.png
ただ,-a(領域指定)利用時は-d(デュレイ)やCtrl+Tab(タスク切換え)などが効かない.-d の代わりに以下のようにすることでとりあえず回避できた.

$ sleep 5;gnome-screenshot -a

コマンドラインでそのままファイルに書き出す方法があるといいのだが…. #Gyazo で利用したい ##Gyazo ではImageMagick を利用しているが,compiz(視覚効果有効)利用時に裏のウィンドウがキャプチャされるなどうまく行かないことが多い.

オンスクリーンキーボードを利用する

cellwriter.png
screenlock.png
Ubuntu10.10

$ sudo aptitude install cellwriter

Gnome NetworkManager? でscript 実行

/etc/NetworkManager/dispatcher.d/

以下に,root が実行できるscript を置いておくとNetworkManager? 接続時に実行される.
script のファイル名の前2文字は番号にしておく.番号順に実行される.
この中でprintenv すると例えば以下のような辺りが取得できることが判る.

CONNECTION_UUID
DHCP4_BROADCAST_ADDRESS
DHCP4_DHCP_LEASE_TIME
DHCP4_DHCP_MESSAGE_TYPE
DHCP4_DHCP_REBINDING_TIME
DHCP4_DHCP_RENEWAL_TIME
DHCP4_DHCP_SERVER_IDENTIFIER
DHCP4_DOMAIN_NAME_SERVERS
DHCP4_EXPIRY
DHCP4_IP_ADDRESS
DHCP4_NETWORK_NUMBER
DHCP4_ROUTERS
DHCP4_SUBNET_MASK
IP4_ADDRESS_0
IP4_NAMESERVERS
IP4_NUM_ADDRESSES
IP4_NUM_ROUTES
PWD

これで何が出来るかというと,例えば

dns2tcpも混ぜるとパスワードなどをリモートに置くことも.

よく見たら以下のような引数も渡るみたい

wlan0 up
wlan0 down
none hostname

前2つは判るとして,3個目はよく判らないな…



spam 避けですcheck を付けて下さい

添付ファイル: filescreenlock.png 614件 [詳細] filecellwriter.png 620件 [詳細] fileScreenshot-スクリーンショットの取得.png 520件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-02-11 (金) 03:21:43 (2266d)