apt-get 操作メモ

(設定ファイルも含めて)パッケージを削除。ワイルドカード

sudo apt-get purge packagename*

パッケージの検索。正規表現利用可。

sudo apt-cache search 'nvidia-[\d+]'

会社アカウント等での個人 git への誤 commit 防止

#!/bin/bash

DIR=$(pwd)
EMAIL=$(git config user.email)

if [[ "$DIR" =~ ^/home/hogehoge/private/ ]]
then
    if [[ ! "$EMAIL" =~ @users.noreply.github.com$ ]]
    then
        echo "Error: git config user.email = $EMAIL"
        exit 1
    fi
fi
  • ファイル実行権限をつける (chmod 755)
  • git のテンプレートに設定する。git init 等で自動的に .git/hooks にコピーされる。
git config --global init.templatedir '~/.git_template'
  • /home/hogehoge/private/ 以下にあるフォルダで git commit する場合、その git の user.email が @users.noreplay.github.com を含んでなければエラーとなる。 (フォルダと email の規則は例です)

TopCoder メモ

Java Applet が Security 警告で起動しない

スクリプト

#!/bin/bash

function make {
    MAKE=`which make`
    if [ ! -f Makefile ]; then
        $MAKE -f ../Makefile -j9 $*
    else
        $MAKE -j9 $*
    fi
}

wget --backups=1 http://www.topcoder.com/contest/arena/ContestAppletProd.jnlp
javaws ContestAppletProd.jnlp

Ubuntu 16.04 で x230 がスリープしない

原因

Jun  3 04:14:22 x230 kernel: [ 1785.787010] pci_pm_suspend(): e1000e_pm_suspend+0x0/0x40 [e1000e] returns -2
Jun  3 04:14:22 x230 kernel: [ 1785.787013] dpm_run_callback(): pci_pm_suspend+0x0/0x140 returns -2
Jun  3 04:14:22 x230 kernel: [ 1785.787015] PM: Device 0000:00:19.0 failed to suspend async: error -2
Jun  3 04:14:22 x230 kernel: [ 1785.787049] PM: Some devices failed to suspend, or early wake event detected

ウェブで調べたところ最新の Intel のドライバを入れるのが正しそう。

$ lspci
...
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)

https://downloadcenter.intel.com/ja/search?keyword=82579LM

からソースコードを取得して sudo make install、 再起動

Dropbox のアイコンの左クリックメニューが gnome-flashback で表示されない

/usr/bin/dropbox の import 後に 1 行加える。

os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'

indicator - Dropbox AppIndicator Menu broken in gnome-flashback - Ask Ubuntu

Mac OS の起動音 (ジャーン) を消す

古くからの Mac ファンにとってはカルチャーかもしれないが、Mac OS の起動音はイラっとする。Mute にしていれば鳴らないらしい。音鳴らすときはボリューム上げるので自分は常時 Mute で問題ない。

/Library/nobootsound/nobootsound.sh を作り、chmod +x する。

#!/bin/bash

osascript -e "set volume with output muted"

そして、

defaults write com.apple.loginwindow LogoutHook /Library/nobootsound/nobootsound.sh

Postscript プログラミングのメモ

スタックマシン

  • 実行可能でなければスタックに積まれる
  • 実行可能であればスタックからデータを読み込んで実行される

引数の表現

/function {
    /var2 exch def
    /var1 exch def
}
  • 引数の順番にスタックに積まれるので、逆順で取り出す
  • 変数への代入は 変数名 → 変数値 で積まれている状態で def を実行する。
  • 引数1 → 引数2 の状態から、引数1 → 引数2 → 変数名2 と積んだ上で、exch (exchange) を実行することで、引数1 → 変数名2 → 引数2 とスタックの状態を変更し、def を実行することで 変数名2 = 引数2 となる。