2015年11月30日月曜日

Lubuntu 15.10をCore Installするメモ

HP 2133という古いネットブックにLubuntu 15.10をインストールしたときの作業記録。full installは不必要なパッケージが多いので、core installしてから必要なものだけ追加した。

まずはUbuntuをminimal installする。Lubuntuは後でインストールするメタパッケージが違うだけで、minimal installまでの手順は共通。

Minimal Install

アーキテクチャに合ったISOイメージをダウンロードし、USBメモリなどに書き込む。ダウンロードリンクのarchive.ubuntu.comの前にjp.を足してjp.archive.ubuntu.comに変えると速くなるかもしれない。自分はMacでmicroSDに書き込んだ

ブートしたらひたすらインストーラの指示に従い進める。パッケージをダウンロードするので、有線LANに接続しておく必要がある。

ソフトウェアの選択画面では何も選択しないで続ける

自分はGRUBのインストールでエラーになってしまったが、どうにもならないので無視して続けた。

インストールが完了したら再起動。上のエラーが原因でGRUBのプロンプトが表示されたけど、How to Rescue a Non-booting GRUB 2 on Linux | Linux.com | The source for Linux informationに書いてある通りやったら無事ブート出来た。

ここまででminimal installは完了。

Core Install

apt-getを使う前に、余計なパッケージをインストールしないように設定を変更する。

$ sudo su -
# echo 'APT::Install-Recommends "0";' >> /etc/apt/apt.conf
# echo 'APT::Install-Suggests "0";' >> /etc/apt/apt.conf
# exit

謎のエラーダイアログが表示されるのを回避するため、先にpolicykit-1をインストールし、続けてlubuntu-coreをインストール。

$ LC_ALL=C sudo apt-get install policykit-1
$ LC_ALL=C sudo apt-get install lubuntu-core

これでLubuntuのcore installは終了。

ただし、このままLightDMを開始すると、日本語のディレクトリが大量に作られてしまうので、あらかじめ英語で作っておく。

$ LC_ALL=C xdg-user-dirs-update

最後にLightDMを起動。

$ sudo service lightdm start

いろいろ設定

Predictable Network Interface Namesを無効にする

予測可能でもすぐ忘れてしまうので、以前のeth0wlan0に戻す。

$ sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULTnet.ifnames=0を追加したら、

$ sudo update-grub

のようにして、変更内容を反映させる。

インターフェイス名も修正して、

$ sudo nano /etc/network/interfaces

PCを再起動。

無線LANを有効にする

最初に必要なドライバを調べる。

$ sudo ubuntu-drivers devices

bcmwl-kernel-sourceと表示されたので、network-manager-gnomeと一緒にインストール。

$ sudo apt-get install bcmwl-kernel-source network-manager-gnome

ログインし直すと右下にアプレットが表示されるので、右クリックして[接続を編集する...]-[編集]-[Wi-Fiセキュリティ]でパスワードを設定すれば繋がる。

蓋を閉じたときにサスペンドさせない
$ sudo su -
# echo "HandleLidSwitch=ignore" >> /etc/systemd/logind.conf
# systemctl restart systemd-logind
# exit
Sambaサーバのインストール
$ sudo apt-get install samba

[homes]を有効にする。

$ sudo nano /etc/samba/smb.conf

適当に編集したら、パスワードを設定してsmbdを再起動。

$ sudo smbpasswd -a $USER
$ sudo systemctl restart smbd
OpenSSHサーバのインストール
$ sudo apt-get install openssh-server

以下はクライアント側で実行する。

鍵の作成。作成済みなら必要ない。

$ ssh-keygen -t rsa

Lubuntuマシンに公開鍵をコピーする。

$ cat ~/.ssh/id_rsa.pub | ssh $USER@192.168.XXX.XXX "mkdir -p .ssh; cat >> .ssh/authorized_keys && chmod 600 .ssh/authorized_keys"

2015年7月30日木曜日

クライミングジムのクーポンをRSSでチェックする

オールクーポンというサイトで複数のクーポンサイトをまとめて検索できるのだけど、残念ながらフィードは提供されていない。Feed43というサイトを利用すれば、WebページからRSSを生成できるというのでやってみた。

上記のURLをそのままフィードリーダーに登録すれば購読できる。対象地域は全国だけど、クーポンを販売するジムがとても少ないので、登録しても何も表示されないかも。

RSSは「ボルダリング」の検索結果から生成している。リードのジムでも、たいていはボルダリング壁を併設してるだろうから漏れることはほぼないと思う。「クライミング」だとボルダリングジムが出てこなかったり、「ツリークライミング」や「シャワークライミング」が含まれてしまったりする。

2015年7月8日水曜日

YouTubeの埋め込み動画を低画質に固定するChrome拡張を書いた

「ぷららモバイルLTE 定額無制限プラン」が遅い上に不安定で、YouTubeの再生が頻繁に止まってしまう。低画質に固定する拡張を探してみたが、埋め込み動画に対応しているものが見つからなかったので、埋め込み動画にしか対応していないものを書いた。

manifest.json

{
    "manifest_version": 2,
    
    "name": "low quality youtube",
    "version": "1.0",
    "background": {
        "scripts": ["background.js"]
    },
    "permissions": [
        "http://www.youtube.com/embed/*",
        "https://www.youtube.com/embed/*",
        "http://www.youtube.com/v/*",
        "https://www.youtube.com/v/*",
        "webRequest",
        "webRequestBlocking"
    ]
}

background.js

var VIDEO_QUALITY = "small";

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        var param = "vq=" + VIDEO_QUALITY;
        var replaced = false;
        var url = details.url.replace(/[?&]vq=\w+/, function(match) {
            replaced = true
            return match.charAt(0) + param;
        });
        if (!replaced) {
            url = url.concat(url.indexOf("?") >= 0 ? "&" : "?", param);
        }
        if (url !== details.url) {
            return { redirectUrl: url };
        }
    },
    { urls: [
        "http://www.youtube.com/embed/*",
        "https://www.youtube.com/embed/*",
        "http://www.youtube.com/v/*",
        "https://www.youtube.com/v/*"
    ] },
    ["blocking"]
);

適当なフォルダに上記のファイルを保存して、Chromeの拡張機能を開きデベロッパーモードをクリック、 [パッケージ化されていない拡張機能を読み込む...]でさっきのフォルダを指定すれば使用できる。

常駐するタイプの拡張なのでメモリ消費が欠点。ぷららモバイルLTEは解約する予定。