MacBook Pro 2009 を Puppy Linux で NAS 化
Puppy Linux をインストールしてNASを作れるのか
やりたいこと
- ✅Puppy Linx のインストール
- ✅日本語入力
- ✅macキーボード対応
- ✅Nvidia グラフィックドライバをインストール
- SMB, WebDAV, FTP の設定
- ふたを閉じてもスリープしない(ディスプレイはオフに)
- 各種 Fn キーを動作させる
- バックライトの明るさ調整できるように
詰まったところ
- パーティションの分け方
- パッケージ管理ツール
- Nvidia ドライバのコンパイル&インストール
Natural Scrolling
macのようにナチュラルスクロールを使いたい
Trackpad Natural Scrolling - Puppy Linux Discussion Forum このフォーラムを参考に ~/.config/psynclient.conf
を書き換える。しかし、vim
コマンドが使えないことが発覚!vim
すらも入っていないのか、と驚く。
vim
をインストール
How to install vim in puppy? - Puppy Linux Discussion Forum
このフォーラムを参考に
Open Puppy Package Manager (via Menu > Setup)
Update the package database (config button top left of PPM)
Use the Search field in PPM to search for vim
Select vim from the list and allow PPM to display the details
Click the Do It button to install vim plus dependencies
Open a terminal and use the command vim.basic to start vim
Nvidia グラフィックドライバー
MacBook Pro 2009 のグラフィックボードは GeForce 9400M
ハードウェア情報を調べる
lshw
コマンドを先ほどと同じようにインストール。
$ sudo lshw -c video
*-display
(略)
product: C79 [GeForce 9400M]
vendor: NVIDIA Corporation
(略)
Nvidia グラフィックドライバー
基本的に参考にしたもの:How to install a Nvidia driver run package - Puppy Linux Discussion Forum
nvidiaのサイトからダウンロード
- Product Type: GeForce
- Product Series: GeForce 9M Series (Notebook)
- GeForce 9400M
ダウンロードしたファイル NVIDIA-Linux-x86_64-340.108.run
を/mnt/home
におく、と上のサイトには書いてあるのだが、自分の環境では/mnt/home
はinitrd/mnt/dev_save
へのシンボリックリンクになっていた。大丈夫なのか?
ファイルを置いたらターミナルを開き
sfsget
を実行してみる。実行環境のPuppyにあうSFSパッケージマネージャ?をインストール。
32bit-compatibilty-fossa64.sfs
を選んだ。こっちのリンクを読むと、最近のバージョンのPuppyだとSFSははじめからインストールされているらしい(sfs_load - SFS load/unload on-the-fly - Puppy Linux 日本語 フォーラム)
getnvidia というコマンドツールをダウンロード。ダウンロードした.pet
ファイルをクリックするとインストールできた。
getnvidia
を実行するとなにが足りてないか教えてくれるので、これを参考にしたらいいかも。整理すると、
-
getnvidia
をインストール ここから - ターミナルで
getnvidia
を実行して、足りない設定を確認 -
sfsget
コマンドでインストール- devx package
- Kernel source package
- 下のRestartボタンを押して、
nouveau
を無効化するために再起動 - ダウンロードしたドライバファイルを指定
Exit to Prompt ボタンを押すと、Xウィンドウが消えてCUI画面になる。指示通りgetnvidia
とコマンドを入力しEnter。
(略)
You can remove the kernel source and devx. But keep the nvidia-glx SFS.
Type 'xwin' to get back the desktop.
最後にこのように表示されます。
NVIDIAドライバがX-Serverに読み込まれない1
/etc/modprobe.d
以下に設定ファイルmy-nvidia.conf
を作り、以下のように書き込む。(ファイル名はなんでもいいようだ)
options nvidia NVreg_EnableMSI=0
→効果なし
参考
NVIDIAドライバがX-Serverに読み込まれない2
Xを終了してプロンプトに移動すると、こんな言葉があった
If X failed to start, type "xorgwizard" to setup X
やってみる→変化なし
NVIDIAドライバがX-Serverに読み込まれない3
/usr/bin/nvidia-settings
を起動して設定するとあった。やってみると、「NVIDIAドライバを使ってないよ。nvidia-xconfig
をルートユーザで起動してね」と出てきた。
ターミナルからnvidia-xconfig
コマンドを実行すると/etc/X11/xorg.conf
が書き換えられたようだ。
→動いたあああぁぁぁぁ!
日本語フォントを入れる
「源ノ角ゴシック」を入れることにした。githubからダウンロード。
/usr/share/fonts
以下にフォントファイルを置くと自動で使えるようになる。
linuxだとOTFとTTFがある場合OTFのほうが好ましいという記述を見つけた。
参考
MacBook Pro の日本語キーボード
nvidiaドライバを入れる際にxorg.conf を作り直してしまったことで、キーボードの設定がすべて飛んだようだ(?)
Archi Linuxのwikiを見つけた。setxkbmap コマンド
X keyboard を設定するコマンド。XkbRules
, XkbModel
, XkbLayout
, XkbVariant
, XkbOptions
5つのパラメータを設定する。
Model
xkeyboard-config(7) — Arch manual pages
このページからMacBook Pro 2009で使えそうなモデルを探すと、
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (intl.)
apple Apple
apple_laptop Apple laptop
applealu_ansi Apple Aluminium (ANSI)
applealu_iso Apple Aluminium (ISO)
applealu_jis Apple Aluminium (JIS)
このどれかだろう。まずmacbook79を試してみる。
Layouts
ここの表から探すと、いくつか候補がある。
jp Japanese
jp(kana) Japanese (Kana)
jp(kana86) Japanese (Kana 86)
jp(OADG109A) Japanese (OADG 109A)
jp(mac) Japanese (Macintosh)
jp(dvorak) Japanese (Dvorak)
以前ubuntuを同じMacBookにインストールしたとき jp(mac)は動作しなかった記憶があるので、jp
にする。
Rules
設定可能な値のリストのこと。
これは設定していない例も多い。
xfree86.lst
と xorg.lst
を比べてみると(diff
コマンド)違いはなかったので、とりあえずxfree86
としておく。
Option
とりあえずなし。
実行コマンド
$ setxkbmap -rules xfree86 -model macbook79 -layout "jp" -option ""
参考
キーボード設定 つづき
setxkbmap
でうまくいったが、これだとXサーバのセッションが切れるとリセットされるらしい。設定ファイルを作ることにする。ファイル名はArchi Linux Wikiにのっとって00-keyboard.conf
とする。
Section "InputClass"
Identifier "my-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "jp,us"
Option "XkbModel" "macbook79"
Option "XkbVariant" ""
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
これでXサーバを再起動してもキーボード設定が反映された。
キーボード ウィザードから読み込めない
どうやら /etc/X11/xorg.conf
に設定を書かないといけないのか?やってみよう
...
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
+ # my keyboard setting
+ Option "XkbLayout" "jp,us"
+ Option "XkbModel" "macbook79"
+ Option "XkbVariant" ""
+ Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
これでXサーバを再起動すると設定が反映されなかった。一方、ウィザードは動くようになった。
Sectionを新しく作ってみる
Sectionを分離するとXサーバーにも設定が反映されるかな?とやってみた。結果、Xサーバが起動しなくなった。元に戻す。
日本語キーボードを入れるのはこれから!
SMB サーバ セットアップ
デフォルトでSMBサーバを有効にするためのアプリ "Samba Simple Management" が入っています。
Menu > Network > Samba Simple Management
ユーザーとパスワードを設定
samba はLinuxに登録されているユーザーしか登録できません。このことを知らずに新しいユーザーを追加しようとして苦戦してました。
そして、Puppy Linuxではユーザーはroot
ひとりだけがデフォルト。finnというユーザーが試験的に導入されています。Puppy LinuxはあまりSMBサーバ向きではないかもしれませんね。
$ sudo smbpasswd -a (上で作ったユーザー名)
参考
ディレクトリの権限を設定
SMBで他デバイスからアクセスしてみたが、ファイルのアップロードができなかった。これはディレクトリの書き込み権限がなかったためと考えられる。
chmod -R 766 (共有するフォルダ)
SMB でファイルをアップロードすると豆腐化
日本語ファイル名が表記されない。ターミナル上では表記されるので、システムに日本語フォントが反映されていないようだ。
ふたを閉じてもサスペンドしないように
NASとして使うためにふたを閉じた時の動作を設定したい。
- サスペンドしない
- 画面はオフに
サスペンドしない
/etc/acpi/acpi.conf
で DISABLE_SUSPEND=yes
がコメントアウトされているので外す。これでサスペンドしなくなったが、ふたを閉じてもスクリーンが消えなくなった。