SANDISKの64GBのmicroSDXCカードでRaspberryPi3のOS設定をやっていると、どうにもファイルが壊れまくって起動不能に陥るので、もしかしたらSDXCであることがそのダメな原因なのかもしれない……と思い、東芝のmicroSDHC32GBを購入。とりあえずUbuntuMATEとかで奇をてらうのはやめて、今まで作業していた「RASPBIAN JESSIE」最新版で1から設定しなおすことにス……メモしておいた手順におよそ沿うようにしたら特に問題なく一通り設定終了。よかよか、よかですタイ。
一応、無線LANの設定でパワーマネジメント機能で勝手にリンクダウンしてしまうのを防ぐために(参照)、「sudo iwconfig wlan0 power off」でパワーマネジメント機能をオフ、「iwconfig」コマンドで設定が「Power Management:off」になっていることを確認。
……でもね、ディスプレイ&スピーカの近くに本体+電源のみで置いてリモート運用しようとしたら、ノイズのせいかもしれないけれど無線LANがブチブチ落ちまくるので断念。あきらめて窓辺に置くことにス。やはりアンテナとかもそうしっかりしてるわけないから、電波を拾いやすい場所でないとダメなのかもしれない、ラズパイの無線LANは。
それはともかく、一通り設定が終わると要らぬこと(=ゲーム)もしたくなるというもので、「sudo apt-get install nethack」で日本語化されていない「nethack」を入れてみたりして、せっかくだからとPC-8801エミュあたりも動かしてみんと欲ス。
Windowsで人気の「M88」はLinux版が無いようなのので、こちらのページを参考にしながら「QUASI88」をmake installしてみた。
# X11_VERSION = 1
SDL_VERSION = 1
ROMDIR = ~/.quasi88/rom/
DISKDIR = ~/.quasi88/disk/
TAPEDIR = ~/.quasi88/tape/
---------------------- Linux
ARCH = linux
# SOUND_ARTS_SMOTEK = 1
SOUND_SDL = 1
USE_OLD_MAME_SOUND = 1
# リンカの設定
LD = $(CC) -lm -Wl,-s
最新のJESSIEはBluetoothマネージャ&通知領域のGUIがきちんとインストールされるようになったみたい。
せっかくなのでRaspberry Pi3のbash環境あたりも整え始める。<ドロ沼化
alias al='alias'
alias ll='ls -alF --color=auto'
alias ls='ls -aF --color=auto'
alias grep='grep --color'
alias df='df -h'
alias ps='ps --sort=start_time'
alias em='emacs'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ロードパスの設定
(setq load-path (append
'("home/pi/.emacs.d"
"home/pi/.emacs.d/packages")
load-path))
;; 環境を日本語、UTF-8にする
(set-locale-environment nil)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(prefer-coding-system 'utf-8)
;; "nn"と打って、'ん'と変換
(setq enable-double-n-syntax t)
;; スタートアップメッセージを表示させない
(setq inhibit-startup-message t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; バックアップファイルを作成させない
(setq make-backup-files nil)
;; オートセーブファイルを作成しない
(setq auto-save-default nil)
(setq auto-save-list-file-name nil)
(setq auto-save-list-file-prefix nil)
;; 終了時にオートセーブファイルを削除する
(setq delete-auto-save-files t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 複数ウィンドウを禁止する
(setq ns-pop-up-frames nil)
;; C-x C-b でバッファリストを開く時に、ウィンドウを分割しない
(global-set-key "\C-x\C-b" 'buffer-menu)
;; ウィンドウを透明にする
;; アクティブウィンドウ/非アクティブウィンドウ(alphaの値で透明度を指定)
(add-to-list 'default-frame-alist '(alpha . (0.85 0.85)))
;; メニューバーを消す
(menu-bar-mode -1)
;; ツールバーを消す
(tool-bar-mode -1)
;; メニューバーにファイルのフルパスを表示
;;(setq frame-title-format
;; (format "%%f - Emacs@%s" (system-name)))
;; カーソル位置の桁数をモードライン行に表示する
(column-number-mode 1)
;; カーソル位置の行数をモードライン行に表示する
(line-number-mode 1)
;; カーソルの点滅をやめる
;;(blink-cursor-mode 0)
;; カーソル行をハイライトする
;;(global-hl-line-mode t)
;; 対応する括弧を光らせる
(show-paren-mode 1)
;; 対応する括弧の色の設定
(setq show-paren-style 'mixed)
(set-face-background 'show-paren-match-face "grey")
(set-face-foreground 'show-paren-match-face "black")
;; ウィンドウ内に収まらないときだけ、カッコ内も光らせる
(setq show-paren-style 'mixed)
(set-face-background 'show-paren-match-face "grey")
(set-face-foreground 'show-paren-match-face "black")
;; 改行コードを表示する
(setq eol-mnemonic-dos "(CRLF)")
(setq eol-mnemonic-mac "(CR)")
(setq eol-mnemonic-unix "(LF)")
;; リージョンを色付きにする
(transient-mark-mode 1)
;; active でない window の空 cursor を出さない
(setq cursor-in-non-selected-windows nil)
;; 予約語を色分けする
(global-font-lock-mode t)
;; タブにスペースを使用する
;;(setq-default tab-width 4 indent-tabs-mode nil)
;; c-mode のインデントをスペース4個分のタブにする
(add-hook 'c-mode-common-hook
'(lambda ()
(c-set-style "k&r")
(setq c-basic-offset 4)
(setq indent-tabs-mode t)
(setq tab-width 4)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; スクロールは1行ごとに
(setq scroll-conservatively 1)
;; 行の最後に来たら、新しい行を作らない
(setq next-line-add-newlines nil)
;; C-kで行全体を削除する
(setq kill-whole-line t)
;; C-h を Backspace として使い、
;; C-c h を HELP に割当てる
(keyboard-translate ?\C-h ?\C-?)
(global-set-key "\C-h" nil)
(global-set-key "\C-ch" 'help-command)
;; 指定行にジャンプする
(global-set-key "\C-xj" 'goto-line)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; dired設定
(require 'dired-x)
;; 日本語の locale が設定されている時の dired 対策
(require 'ls-lisp)
(defadvice insert-directory
(around reset-locale activate compile)
(let ((system-time-locale "C"))
ad-do-it))
;; "yes or no" の選択を "y or n" にする
(fset 'yes-or-no-p 'y-or-n-p)
;; isearch の文字を取得
;; C-s した後に C-d すれば search する文字の入力を省けることに。
(defun isearch-yank-char ()
"Pull next character from buffer into search string."
(interactive)
(isearch-yank-string
(save-excursion
(and (not isearch-forward) isearch-other-end
(goto-char isearch-other-end))
(buffer-substring (point) (1+ (point))))))
(define-key isearch-mode-map "\C-d" 'isearch-yank-char)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; bufferの先頭でカーソルを戻そうとしても音をならなくする
;;(defun previous-line (arg)
;; (interactive "p")
;; (condition-case nil
;; (line-move (- arg))
;; (beginning-of-buffer)))
;; bufferの最後でカーソルを動かそうとしても音をならなくする
;;(defun next-line (arg)
;; (interactive "p")
;; (condition-case nil
;; (line-move arg)
;; (end-of-buffer)))
;; いくつかの操作でbeep音を消す
(defun my-bell-function ()
(unless (memq this-command
'(isearch-abort abort-recursive-edit exit-minibuffer
keyboard-quit mwheel-scroll down up next-line previous-line
backward-char forward-char))
(ding)))
(setq ring-bell-function 'my-bell-function)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Navi2ch設定
(autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t)
;; モナーフォント使用
(setq navi2ch-mona-enable t)
(setq navi2ch-mona-face-variable 'navi2ch-mona16-face)
Navi2chを使っていると、懐かしいnetnewsリーダのgnusを思い出すね、なんとなく。
そんなこんなで連休初めにRaspberry Pi3が無事届いたので一通りセッティング完了。
久しく使ってなかった(インストールもしてなかった)TeraTermでコンソールに接続していろいろするのが妙に楽しい。いやぁ、まさに「5月になるとわけもなくターミナルでいじり倒したくなりません?」という気分ですナ。
一応、今回のために買ったり用意したものは、
今度はUbuntuMATEかWindows10 IOT Coreを入れるか……。