【VirtualBox】初心者用 Arch Linux GUI環境導入

[【VirtualBox】初心者用 Arch Linux 仮想環境構築 前編](http://qiita.com/Trouble_SUM/items/1f2694baf6b5d2420f1a)
[【VirtualBox】初心者用 Arch Linux 仮想環境構築 後編](http://qiita.com/Trouble_SUM/items/f9aa22f0461f3cc84073)

の続きです。気が向いたので続きを書こうと思います。

今回はGUI環境を入れてちょびっといじってみます。
「GUIとかシンプルじゃない！必要ない！」という方は途中まで読んで下さい。僕も同意見です。
とはいえGUIのほうが便利なときもありますので試しに入れてみてはいかがでしょうか。

なにを入れようか迷ったのですがせっかくなので触ったことないものを…
今回はawesomeというウィンドウマネージャです。
なにしろ軽いとのことなので選びました。

#まずは恒例の
```
# pacman -Syu
```

Archを起動したらまずはこれ
リポジトリと同期しつつアップデートしてくれます。かわいい。


###補足
実は久しぶりに起動したらArch君がインターネットに繋げないとか言い出しました
僕の記事を見てインストールした人には同じ症状の人がいるかもしれないので一応書いておきます。

とりあえずgoogle宛にでもping(通信できてるかの確認)を撃ってみます。

```
# ping google.com
```
エラーメッセージのスクショ取るの忘れましたが
名前解決できてないみたいなので直接アドレスを打ってみます

```
# ping 8.8.8.8
```
これでもできないのでインターネットにつながってないっぽいですね

```
# systemctl status dhcpcd
```
で見るとdhcpcdは起動してました。

```
# systemctl status systemd-networkd
```
systemd-networkdと競合してたみたいです。


####解決策

```
# systemctl stop systemd-networkd
# systemctl disable systemd-networkd

# systemctl start dhcpcd
# systemctl enable dhcpcd
```
とやったら解決しました。違ったらごめんなさい。最後に思い出して書いてるのでうろ覚えです。
これで解決できたら改めて pacman -Syu でアップデートしましょう


#どこまで進めたかよく覚えてないけど
たしか一般ユーザは作ってなかったような気がします。
zshも入れてなかった気がします。
vimは入れたような気がします。

###一般ユーザ(パンピー)の作成

```
# useradd -mG wheel qiita
```

-mオプションでホームディレクトリを自動作成
-Gオプションで所属グループの指定をしています。
もちろんqiitaのところは任意のユーザネームで結構です。
<font color="lightgray">
このwheelグループに所属しているユーザはsudoコマンドで一時的にrootと同じ権限を得ることができます。
多分そんな感じの認識でいいと思います。
</font>

```
# passwd qiita
```
で一般ユーザにもパスワードを設定します。
間違えずに2回入力してあげてください。間違えると死にます。

```
# pacman -S sudo
```
でsudoをインストール

```
# visudo
```
と打つとviの編集画面に移ります。

```
/"HOME"
```
と入力して検索すると
>\#Defaults env_keep += "HOME"

という行があると思います。

```
^x
```
で先頭の文字(#)を削除(^で行の先頭へ xで1文字消去)

同じ要領で

```
/%wheel
```
と検索して

>\#%wheel ALL=(ALL) ALL

もアンコメントしてあげましょう
終わったら忘れずに

```
:wq
```
で保存！<font color="lightgray">（ちなみにwqとはwrite quitの略）</font>

###ちょっと快適にする
ここは読み飛ばしても結構です。

そしてここからは一般ユーザで行います。(なのでプロンプトが#から$になっている)

```
$ su - qiita
$ pacman -S zsh git
```

zsh(おりこうなシェル)とgit(バージョン管理システム)を入れます。

僕がいつも使ってるのがzsh(デフォルトはbashというシェル)だからです
gitはASKA氏のおかげで有名になった[Github](https://github.com/)という
プログラムの個人ロッカーのようなサイトから引っ張ってくるために必要だから

```
$ pwd
```
直前にsu - qiitaでユーザ変更と同時にホームディレクトリに移ったのですが、
一応確認にpwd(print working directory)コマンド
自分が今いるディレクトリを教えてくれます。

>/home/qiita

と言われたのでしっかりホームディレクトリに移っていますね

```
$ mkdir github
$ cd github
$ git clone https://github.com/sometrouble/arch
$ cd arch
```

これで[Github](https://github.com/)から設定ファイルを落としました。
僕はあんまり設定をごちゃごちゃいじるのは好きではないので他の人のリポジトリから落としてもいいと思います。

```
$ ls -a
```
で中身を見てみると

>. .. .git .vimrc zshrc

と書かれていると思います。
必要なのは.vimrcとzshrcだけ！

これを正しい位置へ引っ張っていきます。

```
$ ln -s ~/github/arch/.vimrc ~/.vimrc
$ ln -s ~/github/arch/zshrc ~/.zshrc
$ chsh -s /bin/zsh
```
さっき落としたファイルをシンボリックリンク(Windowsでいうショートカットみたいなもの)を貼って
シェルをbashからzshに変えます

```
$ sudo shutdown -r now
```
そしたら一旦再起動

qiitaユーザでログインしてみるとプロンプトが素敵なことに！
![a55b3af55501007f931a847b7dacf902.png](https://qiita-image-store.s3.amazonaws.com/0/139165/6bd31053-5f21-b431-bd2f-15ed1401ac2e.png)

たしかこちらのサイトのをパクったものだったと思います。
[あじーん-0.0.2-SNAPSHOT 2010-12-27 zshのVimモードあれこれ](http://nishikawasasaki.hatenablog.com/entry/20101227/1293459255)

というわけで生まれ変わったzshと共に設定を進めましょう。

#ようやくウィンドウマネージャの導入

###いろいろいれよう
```
$ sudo pacman -S xf86-video-vesa xf86-video-fbdev
$ sudo pacman -S xorg-server xorg-xinit xterm
$ sudo pacman -S awesome
```

必要なものをズンドコ入れていきます。もし何か聞かれたらデフォルト(そのままEnter)でいいと思います。
一番上のxf86-video-vesaはVirtualbox用なので他のグラフィックドライバの方は各自合ったものをインストールしましょう。

```
$ sudo pacman -S virtualbox-guest-utils
```
リポジトリを選べと言われるので2(virtualbox-guest-modules-arch)と入力しましょう


###Xinitの設定
```
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
$ sudo vim ~/.xinitrc
```
vimの編集画面に移ったと思います。
<font color="lightgray">
archは頻繁に仕様変更があるので、何年か前の資料には
/etc/X11/xinit/xinitrc ではなく /etc/skel/.xinitrc
と記してあるものもあります。2016/12/02現在は /etc/X11/xinit/xinitrc が正しいです。
</font>

```
G V 4k I # [ESC] [ESC]
```

と順番に打って(スペースは入力しない)一番下の5行をコメントアウトします。

```
G o
```
で入力モードに入って

```
exec awesome
```
と入力します。それが終わったら

```
[ESC] :wq
```
で編集を抜けましょう

![b2faa146ee579605898ddbe28a286e20.png](https://qiita-image-store.s3.amazonaws.com/0/139165/51b6a06e-a0ef-91ce-0f53-a33e58f3e0f7.png)
こんな感じになってればOKです

#感動の瞬間

```
$ startx
```

![686c0f6c06963b918e395f924fc58b12.png](https://qiita-image-store.s3.amazonaws.com/0/139165/c8c6aa48-bb64-3e1a-718c-3706bd476834.png)

オオ～

一番左上のアイコンからopen terminalを選ぶとターミナルが開きます。

冒頭で言ったようにawesomeは僕もいじったことがないのでよくわかりません。ごめんなさい

とりあえずGUIが動いたからまぁいっか～！