ubuntuでタッチパッドでミドルクリックする

synapticsのドライバを入れる.
実は,gpointing-device-settingsを入れると,自分の環境に適切なものが入るはず.

$ sudo apt-get install xserver-xorg-input-synaptics

ホントは,/etc/X11/xorg.conf.d/50-synaptics.confとかが自動で入るはずなんだけど,なぜかhadacchiの環境では入らなかったので,手で書く.

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "3" # 2本指で右クリック
        Option "TapButton3" "2" # 3本指で中クリック
        Option "VertEdgeScroll" "off" # タッチパッドの右の方でスクロールするやつ
        Option "VertTwoFingerScroll" "on" # 2本指スクロール
        Option "HorizEdgeScroll" "off"
        Option "HorizTwoFingerScroll" "on"
        Option "HorizScrollDelta" "-100" # マイナスは逆方向,数値は精度(大きいほどスクロール速度は遅くなる)
        Option "CircularScrolling" "off" # 多分,let's noteとかのくるくる回すスクロールだと思う
        #Option "CircScrollTrigger" "2"
        Option "EmulateTwoFingerMinZ" "40" # ここから下はよーわからん
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "0"
        Option "FingerLow" "35"
        Option "FingerHigh" "40"
EndSection

ubuntuでデュアルディスプレイ

ノートPCで,HDMIに出力する例を書くよん.
IFはノートPCの画面がeDP1,HDMIの出力がHDMI1とする.
まーあと,そうはいってもちゃんと事前に映るか確認すべきだよねっ☆(テヘペロ

$ xrandr --output HDMI1 --auto

いやいや,ディスプレイには他のワークスペースを出したいのよ.

$ xrandr --output HDMI1 --auto --right-of eDP1

未だd-subが要求されることがあるが,うっかり事前準備してなくで出せなくて焦った.
こーしたら出た.

$ xrandr --output HDMI1 --mode 1024x768 --rate 60.0 --right-of eDP1

よし,プレゼン終わったぜ!
ケーブル抜いても右にディスプレイが残りつづけるから,切断しないとね

$ xrandr --output HDMI --off

ノートPCに入れたUbuntuでACアダプタが抜けたら画面輝度を下げたりする

ubuntu 14.04+xmonad環境で,ACアダプタのON/OFFに合わせて画面の輝度を変更する設定.
ここのDock and Undock Scriptsを参考にやったらできた.
LaptopLidAndDockScripts - Community Help Wiki

ubuntuではacpidは,なんかあんまり使われてないらしく (PowerManagement/Overview - Community Help Wiki)
実際,event=ac_adapter\ ACPI~(以下略) は動作しなかった.

しばらく/etc/acpid/eventsで悪戦苦闘してみたものの,結局はpm-utilsに設定することで解決した.

#!/bin/sh
case $1 in
    false)
        if [ -e /usr/bin/xbacklight ]; then
            DISPLAY=:0 su USERNAME -c "/usr/bin/xbacklight -set 20"
        fi
    ;;
    true)
        if [ -e /usr/bin/xbacklight ]; then
            DISPLAY=:0 su USERNAME -c "/usr/bin/xbacklight -set 5"
        fi
    ;;
esac

Ubuntu on Laptop PCで画面を閉じてもスリープしない

基本的には,ここの通り.Linux - モニターを閉じるとサスペンドされるのを防止 - Qiita

なんだけど,当該設定ファイルを見てみると他にも電源まわりの動作が書かれてるから試してみたら思い通りに動いてくれてハッピー.

HandlePowerKey=suspend
HandleLidSwitch=ignore

電源ボタンでスリープ,閉じてもスリープせず

StartSSLでSHA2署名の証明書

最近のChromeはSHA1署名の証明書に厳しいので,SHA2署名の証明書を発行しようとしたが,StartSSLでうまく認識できなくて困っていた.
この記事の通りにやってみたら,うまくSHA2の証明書として認識された.→ StartSSLで取得した証明書がsha1で認証されてしまう - Qiita
なんか,公式が証明書出してたので修正しました→StartCom • View topic - can I use a SHA256 Intermediate certificate
なんか,crtのダウンロード形式が変わったので修正しました

以下,nginxでsslを使う場合.
apacheで使う場合は,中間証明書をリンク先のものと差し替えるだけなんだけど,apache2.4以降の設定をほとんど真面目にやったことないので,詳しくは分かんない.

$ openssl genrsa -aes256 2048 > server.key
$ openssl req -new -sha256 -key server.key -out server.csr

StartSSLで証明書を発行したあと…
fqdn.zip 的なアーカイブをダウンロードできるようになるので,落として,解凍すると有名なhttpdサーバ毎に必要ファイルをまとめたzipが入っているので,必要なやつを更に解凍する.
なければ,OtherServer.crtにルート・中間認証局の証明書と,fqdn用に発行された証明書があるので,それを使う.

dovecotとかならパスフレーズを指定できるらしいけど,nginxはできんかった気がするので

$ openssl rsa -in server.key.org > server.key

Windows 7 で Windows 10 へのアップグレードを薦める通知を削除する

webで出て来るやり方 (ASCII.jp:トラブル回避! 「Windows 10を入手する」を消す方法!とか,「Windows10を入手する」の通知が消えない\(^o^)/ - time 0 and 1など) に加えて,私はGWXフォルダを消し損ねたので,ちょっと手をかけてみた.
正直,このワームを防ぐには,Windows Updateを無効化した方が早いんじゃないかという気がしている.

  • 上の記事にあるアップデート(KB3035583,KB2952664)は,最低限,消しておく.
  • セーフモードで起動(再起動後にF8を連打してセーフモードを選択)
  • (私はexplorer.exeを管理者権限で開いたが,そんな手間はいらないかも?分からないので,うまくいかんかったら試してね)
  • C:\Windows\System32\GWXを右クリック>プロパティ>セキュリティタブ>詳細設定>所有者,と辿り所有者を自分に変更してプロパティを一旦閉じる.
  • 再度,プロパティを開き,セキュリティタブ>詳細設定>アクセス許可の変更>このオブジェクトの親から継承可能なアクセス許可を含める,のチェックボックスを外す.
  • 出てくるダイアログボックスは,削除でも追加でもいいので選択し,適当に答えながら,プロパティを全部閉じる.
  • GWXフォルダ自体をShift+Delで削除する
  • C:\Windows\System32のフォルダの中の何もないところを右クリックして,新規作成>テキストドキュメントを選択し,ファイル名をGTXとする.
  • GWXを右クリックし,上と同じ要領で所有者を自分に変更,親からの継承のチェックボックスを外し,ダイアログで「削除」を選択.
  • 再起動して,普通に使う

ここまでやっても,Windows updateの最初に出てくる「Windows-10にアップグレード」,は実体が複数種類あるので,3回くらい非表示にしないと,また出てくるので注意すること.

GWXはフォルダとして作成してもいいんだけど,Winとかlinuxは同じフォルダに同じ名前のファイルとフォルダを作れないのを利用して,アクセスコントロールが分かりやすいファイルを作って書き込み禁止にすることにした.

今のところ,これでうまくいっているが,これでもだめな場合の方針はファイル暗号化を有効にしてGWXを暗号化した後に暗号化用の証明書を削除して復号できなくしてしまうとか…

普通のhtmlなどでsyntaxhighlighterを読み込んで使う時のメモ

不明なところは,SyntaxHighlighterを参考にすれば良い.

  • 解凍したディレクトリ内のscriptsディレクトリを./scriptsへ,stylesディレクトリを./cssへ展開したとする.
  • html-script: trueオプションを有効にするために,shBrushXml.shは常時読み込む.
    
    
    
    
    
    
  • オートローダの実行など.
    ここは,適宜,対応するjsファイルを追加する.
    diff,dos,json,lisp,python,texとかがあると便利かも.
    個人的にはhaskellなんかも.

    
    
  • スタイルの修正.
    --- ../syntaxhighlighter_3.0.83/styles/shCoreDefault.css        2010-07-02 12:59:00.000000000 +0900
    +++ shCoreDefault.css   2015-10-21 18:56:36.000000000 +0900
    @@ -58,6 +58,7 @@
       position: relative !important;
       overflow: auto !important;
       font-size: 1em !important;
    +  border: 1px solid #ddd !important; /* added */
     }
     .syntaxhighlighter.source {
       overflow: hidden !important;
    @@ -229,7 +230,7 @@
       background-color: white !important;
     }
     .syntaxhighlighter .line.alt1 {
    -  background-color: white !important;
    +  background-color: #e0e0e0 !important; /* added */
     }
     .syntaxhighlighter .line.alt2 {
       background-color: white !important;
    @@ -242,6 +243,7 @@
     }
     .syntaxhighlighter table caption {
       color: black !important;
    +  background-color: #e0e0e0 !important; /* added */
     }
     .syntaxhighlighter .gutter {
       color: #afafaf !important;
    

Sylpheed Pro 2.5.0で波線を入力するとUnicodeに変換していいか聞かれる問題の対処

ここにある問題が原因と思われる → 文字コード - 波ダッシュ、全角チルダ問題まとめ - Qiita
要するに,JISにない文字コードの文字が入力されていて,JISに変換して送信できないということなのだと思う.

skkでz-などでこの波線を入力しようとすると,全角チルダが入力され,それがJISに変換できないのが原因だと理解することにして,z-で入力される文字をU+301Cに変更してみた.
巷で評判のskkfep(私が使うのは20140826版)の場合,設定をsetting.js→「設定」→「詳細」→357行目を「〜」にする.
327行目は,全角英数モードでのチルダ入力だと思うので,こっちは元のままにしておいた.
ちなみに「〜」をそのまま入力して保存しようとすると,ANSI形式でskkrule.txtが保存できないぜ,って怒られるし,unicodeに変換して保存してどこにどんな動作影響が出るか分かんないので,やめといた方が無難だと思う.

ibus1.5系をASCIIキーボード+SKK環境で使い易くする

参考

本の虫: iBus 1.5がクソすぎる
iBusがクソになった理由 — KaoriYa

経緯

2年くらい前にこの記事を見た時は,何を言っているのかさっぱり分からなかったが,今なら少しは分かる.
でも,uimを散々使ってみた挙句,uimの変換中文字列がホワイトアウトして表示されなくなる現象 (RequestUim - uim-doc-ja - Japanese Documentation Project for uim - Google Project Hosting) に出くわしてからibusに戻っているのが現状だ.
ちなみにホワイトアウトは,私の環境ではシングルモニタでも出る
uimは,.Xdefaultにurxvtの色設定を書いても,.uimで色定義書いてuim-colorに適用してもだめだったから,私の知識では打つ手なし

まぁ方針の善し悪しは,特定人種の攻撃みたいな様相なのでスルーすることにして,
どうすれば,私の環境で快適に使えるかと試してみた.
あくまでマシになる程度で,快適とまではいかなかったが,文字が見えないよりはマシなので,uimは捨ててibusに乗り換えた.

環境

OS
Ubuntu 14.04
WM
xmonad
IM
ibus
IME
ibus-skk
キーボード
ASCII配列
エディタ
VIM ときどき emacs
VIMの動作するurxvtでちゃんと変換中文字列が表示されて,emacsでは起きないよう設定できることが最低条件

やること

ibus+ibus-skkのインストール
.xprofileで環境変数を設定してibus起動させるとかは,頑張って.
今覚えている範囲なら,これ書いてXかubuntu丸ごとかを再起動しとけばいけるかも.

xmodmap .Xmodmap export XIM=ibus export XIM_PROGRAM=/usr/bin/ibus-daemon export XIM_ARGS="--xim" export GTK_IM_MODULE="ibus" export XMODIFIERS="@im=ibus" export QT_IM_MODULE="ibus" ibus-daemon -d -x
ibusの設定を全ウィンドウで共通化させない
xmonadではツールバーなんて軟弱なものはないので,現在のinput methodを確認する術が,入力してみる,しかない.
不便極まりないので,ウィンドウを起こした時には常に決まった入力モードであって欲しい.
ibus-setupのadvancedでShare the same input method among all applicationsのチェックを外すことで,可能である.
skkの初期モードをLatinにしておく
実は初期モードはLatinなんだけど,Hiraganaに切り替えていたので戻すだけ.
キーボード操作メインのxmonadで初期モードHiraganaは自殺行為だった.
ibus-setupのinput MethodからSKKを選択してPreferencesを押し,Behaviorからinitial input modeをLatinにしておけばOK
ASCIIキーボードで入力できるようにする
ibus-skkのキーマップが106キーボードになっているので,asciiに変更する.
要su権限.
/usr/share/ibus/components/skk.xmlのlayoutをjpからusに変えて再起動か再ログインか,何かすればOK
(追記)インプットメソッドをskkのみにする
skkの中で直接入力できるのに,Englishを残しておく意味はないので,消す.これしないと,英語環境を使ってる時デフォでskkが起きてくれなくてうざい.これをやっても,例えばemacsを起動した時にはddskkを呼ばなくてもasciiの入力はできるし,C-jはLispの実行だし,C-x C-jでddskkが起きる.

結果

ウィンドウを遷移する度に,Latinに切り替わるぜ!
これがWindows機の動作だったらキレてるところだが,ubuntuなら,そんなに違和感ない.
ちなみに,何でか分からんが,.XdefaultsにemacsでuseXIMはfalseだよーとかしなくても,emacsからはibus-skkは呼ばれない.