カテゴリー
アプリ&ミドルウエア

薄すぎる職場のトイレットペーパー

いつも危ない目にあってしまう。
image

カテゴリー
Raspberry PI Model B+

デスクトップ・ページャーのショットカットキーを変更

動機

  • Raspberry PI (以下”ラズパイ”)LXDE – wikipedia というデスクトップ環境がバンドルされています。
  • 私は、パソコンから Xming を使い XDMCP 経由でラズパイのデスクトップへ繋ぐ事が多いので、デスクトップ・ページャーの切替えに割り当てられていた、デフォルトのショートカットが気に入りませんでした。
  • なぜかというと、それはWindowsキーと同時にファンクションキーを押すという割り当てだったので、LXDE へそのシーケンスが送られる前にWindowsのスタートメニューがポップアップしてしまうという大変都合の悪いものだったからです。
  • 私はこの設定を私にとって都合の良いものへ変更することを思いつき、先例を調べる為、ググったところLubuntuのキーボードショートカットの設定:openboxというブログの記事にめぐり合い、rcmdnk 氏の得がたい啓示を受けました。
  • ただし LXDE には GNOME や Xfce のようにキーボードのショートカットをカスタマイズするための、GUI がないので、設定情報の書かれたテキストファイルを代わりに編集する必要があります。

操作

    1. ssh などでラズパイへリモートログインします。
    2. カレントディレクトリをチェンジします。
cd ~/.config/openbox
    1. 既にある設定ファイルのバックアップを取得します。
cp lxde-rc.xml lxde-rc.xml.2015-02-15
    1. エディタで lxde-rc.xml を編集して保存します。結果の diff を次に示します。
pi@raspberrypi ~/.config/openbox $ diff -u lxde-rc.xml.2015-02-15 lxde-rc.xml
--- lxde-rc.xml.2015-02-15      2015-02-15 10:51:01.259615834 +0900
+++ lxde-rc.xml 2015-02-15 10:59:02.852644081 +0900
@@ -213,22 +213,22 @@
         <wrap>no</wrap>
       </action>
     </keybind>
-    <keybind key="W-F1">
+    <keybind key="C-A-1">
       <action name="Desktop">
         <desktop>1</desktop>
       </action>
     </keybind>
-    <keybind key="W-F2">
+    <keybind key="C-A-2">
       <action name="Desktop">
         <desktop>2</desktop>
       </action>
     </keybind>
-    <keybind key="W-F3">
+    <keybind key="C-A-3">
       <action name="Desktop">
         <desktop>3</desktop>
       </action>
     </keybind>
-    <keybind key="W-F4">
+    <keybind key="C-A-4">
       <action name="Desktop">
         <desktop>4</desktop>
       </action>
  1. これで望み通りの結果を得ることができました。

留意点

  • この投稿では、デスクトップ・ページャー切替えの記事しか扱いませんが、デフォルトで割り当てられている他のショートカットキーのカスタマイズにも方法的には有効なはずです。
カテゴリー
Raspberry PI Model B+

Nginx で CGI を使えるようにする

  1. 必要なパッケージのインストール
  2. sudo apt-get install fcgiwrap spawn-fcgi
    
  3. 設定ファイル /etc/nginx/sites-available/default を編集
  4. pi@raspberrypi /etc/nginx/sites-available $ diff -u default.org default
    --- default.org 2015-01-11 14:28:27.657198270 +0900
    +++ default     2015-01-11 14:27:20.828190564 +0900
    @@ -77,6 +77,17 @@
            #location ~ /\.ht {
            #       deny all;
            #}
    +       # Userdir - cgi
    +       location ~ ^/~([^/]+)/(.+\.cgi)$ {
    +                if (!-f /home/$1/public_html/$2) {
    +                        rewrite ^ 404;
    +               }
    +               alias /home/$1/public_html/$2;
    +               fastcgi_pass unix:/var/run/fcgiwrap.socket;
    +               fastcgi_index index.cgi;
    +               fastcgi_param SCRIPT_FILENAME $request_filename;
    +               include fastcgi_params;
    +       }
            # Userdir - php
            location ~ ^/~([^/]+)/(.+\.php)$ {
                     if (!-f /home/$1/public_html/$2) {
    
  5. デーモンを再起動
  6. sudo /etc/init.d/fcgiwrap restart
    sudo /etc/init.d/nginx restart
    
  7. 動作確認用CGIスクリプトの準備
  8. cat > ~/public_html/does_work.cgi <<HERE
    #!/bin/bash
    
    cat << EOF
    Content-type: text/html
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=iutf-8">
    <TITLE>Building a report</TITLE>
    </HEAD>
    <BODY>
    CGI works!
    </BODY>
    </HTML>
    EOF
    HERE
    
  9. パーミッションの変更
  10. chmod a+x ~/public_html/does_work.cgi
    
  11. ブラウザからURLを与えて動作確認
  12. http://IPADDRESS/~pi/does_work.cgi
    
  13. うまくいけばブラウザ上に次のような結果を得る
  14. cgi_works