ページ「GNOMEのインストール」と「Sambaのインストール」の間の差分

提供: とある社畜の頭脳整理
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
 
1行目: 1行目:
= インストール =
+
色々事情がありまして…Dropboxを動作させるユーザーIDとSambaで共有するためのユーザーIDは同一のものにしようとしています。<br/>
pacmanを使って普通にインストールしていきます。<br/>(最新かも忘れずに…)
+
また、PC(Windows10)及びRaspbianと共有することが前提となっています。<br/>
<syntaxhighlight lang="bash">pacman -Syu
+
そこらあたり前提の手順となっておりますが、ご了承ください。
pacman -S gnome</syntaxhighlight>
 
  
= ネットワークマネージャーの起動 =
+
= Sambaのインストール =
「GNOME」ではネットワーク管理に「NetworkManager」を使用しています。<br/>
+
以下のコマンドを実行して、Sambaをインストールします。
「GNOME」に合わせて?NetworkManagerがインストールされるので、起動と自動起動の設定をします。
+
<syntaxhighlight lang="bash">pacman -S samba</syntaxhighlight>
<syntaxhighlight lang="bash">systemctl start NetworkManager
 
systemctl enable NetworkManager</syntaxhighlight>
 
  
= GDMの起動 =
 
今の状態で起動してもログイン画面が表示されません。<br/>
 
ログイン画面を表示するためには「gdm」を起動します。<br/>
 
以下のコマンドで、gdmの起動と自動起動の設定をします。
 
<syntaxhighlight lang="bash">systemctl start gdm
 
systemctl enable gdm</syntaxhighlight>
 
  
= 起動 =
+
上記でインストールしても設定ファイルが作成されないようです…。<br/>
コンソールで起動する場合は、以下のコマンドを実行します。<br/>
+
なので、下記コマンドで設定ファイル「smb.conf」をダウンロードします。
(すでにログインしている状態なので、ログイン画面は表示されません)
+
<syntaxhighlight lang="bash">wget "https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD" -O /etc/samba/smb.conf</syntaxhighlight>
<syntaxhighlight lang="bash">XDG_SESSION_TYPE=wayland dbus-run-session gnome-session</syntaxhighlight>
+
※wgetがインストールされていない場合は「pacman -S wget」でインストールしてください。
  
= 日本語化 =
+
= 設定 =
起動できても、今のところすべてが英語で表示されています。<br/>
+
ここからが難題です…。<br/>
日本人なので、日本語に直しておきます。
+
Sambaですが汎用性が高いからか、設定が非常に煩雑?です…。<br/>
 +
細かいところまで手が届くと言えばそうなのですが…家で適当に使用するにはオーバースペックな感じを受けます…。<br/>
  
== キーボードの変更 ==
+
そこで、できるだけ最小限の設定を目指します。
英語キーボードを使用している人はそのままで良いのですが、106(または109)キーボードを使用している人は、切り替えます。
 
  
画面右上をクリックして、歯車アイコン(設定)をクリックします。<br/>
+
「nano」等のエディタで「/etc/samba/smb.conf」を開きます。
[[ファイル:archlinux-gnome-001.png | 400px]]
 
  
「Region & Language」をクリックして、「Input Sources」の「+」マークをクリックします。<br/>
+
== ログの出力先 ==
[[ファイル:archlinux-gnome-010.png | 400px]]
+
はじめに…参考サイトにも書かれていますがログの出力先を、一般的な場所に変更します。
  
(画面上は「japanese」が表示されていますが…表示されていないはずです)<br/>
+
変更前
縦向きの「…」をクリックします。<br/>
+
<syntaxhighlight lang="text">log file = /usr/local/samba/var/log.%m</syntaxhighlight>
[[ファイル:archlinux-gnome-011.png | 400px]]
 
  
ウインドウ下部の検索ボックスに「japanese」を入力してします。<br/>
+
変更後
「japanese」が表示されたら、それをクリクします。<br/>
+
<syntaxhighlight lang="text">log file = /var/log/samba/%m.log</syntaxhighlight>
[[ファイル:archlinux-gnome-012.png | 400px]]
 
  
使用しているキーボードの種類に合わせて、選択します。<br/>
+
== とりあえず書いてある通りに設定してみる ==
キーボードの種類がわからない人は「[http://qa.elecom.co.jp/faq_detail.html?id=5262 キーボードの種類を知りたい/106、109キーボードとは?/英語、日本語キ...]」を見るとわかるかもしれません。<br/>
+
=== ワークグループの設定 ===
選択したら「Add」ボタンをクリックします。<br/>
+
「workgroup」に「WORKGROUP」を設定します。
[[ファイル:archlinux-gnome-013.png | 400px]]
 
  
優先順位を変更します。<br/>
+
=== ホームディレクトリの設定 ===
「japanese」をドラッグして、「English」の上にドロップします。<br/>
+
「valid users = %S」だけ書かれていないので追記します。
[[ファイル:archlinux-gnome-014.png | 400px]]
+
<syntaxhighlight lang="text">[homes]
 +
  comment = Home Directories
 +
  browseable = no
 +
  writable = yes
 +
  valid users = %S</syntaxhighlight>
 +
ちなみに…「%S」ですが、ユーザーIDが入るようです。<br/>
 +
で「valid users」は許可するユーザーなので…<br/>
 +
みんな許可するってことになるかと思います。
  
「✕」をクリックして閉じます。<br/>
+
=== サービスの起動 ===
[[ファイル:archlinux-gnome-015.png | 400px]]
+
以下のコマンドで2つのサービスを起動します。
 +
<syntaxhighlight lang="bash">systemctl start smb
 +
systemctl start nmb</syntaxhighlight>
  
画面上部の「en▼」をクリックして、「japanese」を選択します。<br/>
+
== ユーザーの追加 ==
[[ファイル:archlinux-gnome-016.png | 400px]]
+
Sambaに接続するためのユーザーを追加します。
  
 +
Sambaで利用するユーザーはArchLinuxのユーザーとして登録されている必要があります。<br/>
 +
今回は「dropbox-test」というユーザーを追加してみます。
  
このやり方では、「English」を生かしていますが、使わないなら削除しても良いかと思います。<br/>
+
=== ArchLinuxにユーザーを追加 ===
ドラッグ・アンド・ドロップした所で、「English」右横の「✕」をクリックすると削除できます。<br/>
+
まず、ArchLinuxにユーザーを追加します。
(検証していないので保証はしかねますが…)
+
<syntaxhighlight lang="bash">useradd -m dropbox-test</syntaxhighlight>
 +
続けてパスワードを設定します。
 +
<syntaxhighlight lang="bash">passwd dropbox-test</syntaxhighlight>
  
== ロケールの変更 ==
 
インストール時は「en_US.UTF-8」で設定しましたが、日本語に変更します<br/>
 
「/etc/locale.conf」ファイルの内容を以下の様に修正します。<br/>
 
  
修正前
+
これで、Smabaのユーザーを登録する準備が整いました。<br/>
<syntaxhighlight lang="bash">LANG=en_US.UTF-8</syntaxhighlight>
 
  
修正後
+
=== Sambaにユーザーを追加 ===
<syntaxhighlight lang="bash">#LANG=en_US.UTF-8
+
引き続き、以下のコマンドでSambaにユーザーを登録します。
LANG=ja_JP.UTF-8</syntaxhighlight>
+
<syntaxhighlight lang="bash">pdbedit -a -u dropbox-test</syntaxhighlight>
 +
「-a」はユーザーの追加、「-u」はユーザー名を指定する、という意味です。
  
== 日本語フォントのインストール ==
+
登録したときに以下のようなメッセージが表示されれば成功です。
文字コードが日本語になっても、フォントがインストールされていなければ表示できません。<br/>
+
<syntaxhighlight lang="text">Unix username:        dropbox-test
なので、日本語フォントをインストールします。<br/>
+
NT username:         
今回は、IPA提供の「otf-ipafont」をインストールします。
+
Account Flags:        [U          ]
<syntaxhighlight lang="bash">pacman -S otf-ipafont</syntaxhighlight>
+
User SID:            S-1-5-21-3457465057-3604410224-1916174006-1000
 +
Primary Group SID:    S-1-5-21-3457465057-3604410224-1916174006-513
 +
Full Name:           
 +
Home Directory:      \\archlinux\dropbox-test
 +
HomeDir Drive:       
 +
Logon Script:       
 +
Profile Path:        \\archlinux\dropbox-test\profile
 +
Domain:              ARCHLINUX
 +
Account desc:       
 +
Workstations:       
 +
Munged dial:         
 +
Logon time:          0
 +
Logoff time:          木, 07  2月 2036 00:06:39 JST
 +
Kickoff time:        木, 07  2月 2036 00:06:39 JST
 +
Password last set:    金, 05  7月 2019 14:51:27 JST
 +
Password can change:  金, 05  7月 2019 14:51:27 JST
 +
Password must change: never
 +
Last bad password  : 0
 +
Bad password count  : 0
 +
Logon hours        : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</syntaxhighlight>
  
== GUIから設定変更 ==
+
= 接続 =
※ロケールの変更と、フォントのインストールを済ませてから、ログインすると勝手に変わる場合があるみたいです。
+
== Windowsの場合 ==
 +
ホームディレクトリの設定しかしていませんが…Windowsから接続してみます。<br/>
 +
エクスプローラーのアドレス欄に、サーバーのIPアドレスを入力します。<br/>
 +
すると、以下の様にIDとパスワードを聞かれます。<br/>
 +
(画面がWindows10では無いですが…)<br/>
 +
[[ファイル:archlinux-samba-001.png | 400px]]
  
画面右上をクリックしてメニューを表示して、歯車アイコン(設定)をクリックします。<br/>
+
Samba用に登録したユーザーIDとパスワードを入力します。<br/>
[[ファイル:archlinux-gnome-001.png | 400px]]
+
ログインすると、ユーザーIDと同じ名前の共有フォルダがあるかと思います。
  
左のリストから「Region & Language」をクリックして、「Formats」をクリックします。<br/>
+
入れれば成功です。念のため、ファイルやディレクトリの作成・削除をしてみてください。
[[ファイル:archlinux-gnome-002.png | 400px]]
 
  
一覧から「日本」にチェックを入れて、「Done」をクリックします。<br/>
+
== Linuxの場合 ==
[[ファイル:archlinux-gnome-003.png | 400px]]
+
=== コマンド接続 ===
 +
クライアント側で以下のコマンドを実行します。
 +
<syntaxhighlight lang="bash">mkdir /mnt/Homes
 +
mount.cifs -o username=[userid],password=[password],iocharset=utf8,rw,vers=3.0 //[ip address]/Homes /mnt/Homes</syntaxhighlight>
  
「Restart」を無視して、「Language」をクリックします。<br/>
+
=== 起動時接続 ===
[[ファイル:archlinux-gnome-004.png | 400px]]
+
「nano」等のエディタで「/etc/fstab」を以下の行を追記します。
 +
<syntaxhighlight lang="bash">//[ip address]/Homes /mnt/Homes cifs username=[userid],password=[password],iocharset=utf8,rw,x-systemd.automount,_netdev,vers=3.0 0 2</syntaxhighlight>
  
一覧から「日本語」を選択して、「Select」をクリックします。<br/>
+
= 任意のディレクトリを共有 =
[[ファイル:archlinux-gnome-005.png | 400px]]
+
今度は任意のディレクトリを共有してみます。<br/>
 +
共有するディレクトリは「/mnt/Dropbox」ですwww。<br/>
 +
ドロップボックスのディレクトリを共有します。
  
「Restart」をクリックします。<br/>
+
== 共有ディレクトリの作成 ==
[[ファイル:archlinux-gnome-006.png | 400px]]
+
まぁ書くほどのことは無いですが…
 +
<syntaxhighlight lang="bash">mkdir /mnt/Dropbox</syntaxhighlight>
 +
でディレクトリを作成します。<br/>
 +
また、所有者を以下のコマンドで「dropbox-test」に変更します。
 +
<syntaxhighlight lang="bash">chown dropbox-test:dropbox-test /mnt/Dropbox</syntaxhighlight>
  
ログアウトを促されるので、「Log Out」をクリックして、ログアウトします。<br/>
+
== 共有設定 ==
[[ファイル:archlinux-gnome-007.png | 400px]]
+
先ほどと同じく「/etc/samba/smb.conf」を編集していきます。<br/>
 +
ファイルの最後に以下を追記します。
 +
<syntaxhighlight lang="text">[Dropbox]
 +
  comment = Dropbox Directory
 +
  path = /mnt/Dropbox
 +
  writable = yes
 +
  valid users = dropbox-test</syntaxhighlight>
  
 +
== サービスの読み込み直し ==
 +
以下のコマンドで読み込み直します。
 +
<syntaxhighlight lang="bash">systemctl reload smb
 +
systemctl reload nmb</syntaxhighlight>
  
ログアウトしたら、ログイン画面からログインします。
 
  
ここは人によるかと思いますが…。<br/>
 
homeディレクトリ配下の色々なフォルダ名を日本語にするか聞いてきます。<br/>
 
必要に応じて「古い名前のままにする」「名前を変更する」のどちらかを選択します<br/>
 
[[ファイル:archlinux-gnome-008.png | 400px]]
 
  
以下の画像の通り、日本語になります。<br/>
+
以上で、接続すると見れるかと思います。
[[ファイル:archlinux-gnome-009.png | 400px]]
 
 
 
== 日本語入力のインストールと設定 ==
 
画面上は日本語になりましたが、まだ日本語の入力が出来ません。<br/>
 
日本語入力できるようにしていきます。<br/>
 
今回は「linux版google日本語入力」を入れていきます
 
 
 
下記コマンドをターミナルで実行します。
 
<syntaxhighlight lang="bash">pacman -S fcitx-im fcitx-configtool fcitx-mozc</syntaxhighlight>
 
 
 
ずらずらぁ~っとインストールされます。
 
 
 
ここで、ArchLinuxのFcitxのサイトでは「[https://wiki.archlinux.jp/index.php/Fcitx 以下の行をデスクトップのスタートアップスクリプトファイル (GDM, LightDM, SDDM を使っている場合は .xprofile もしくは .profile、startx や Slim を使っている場合は .xinitrc、Wayland を使っている場合は /etc/environment) に追加してください。]」と書いてあるので、その通りやっても動かなかった…。
 
 
 
色々と調べたら「[https://blog.masudak.net/entry/2015/08/04/200000 ~/.profileが読み込まれなくて困ったら、ここを見る! - カイワレの大冒険 Third]」にたどり着いて…<br/>
 
ホームディレクトリのファイルを見ると…
 
* .profile…無い
 
* .xprofile…無い
 
* .bash_login…無い
 
* .bash_profile…これ!
 
 
 
つ~事で「.bash_profile」ファイルに以下を追記します。<br/>
 
<syntaxhighlight lang="bash">export GTK_IM_MODULE=fcitx
 
export QT_IM_MODULE=fcitx
 
export XMODIFIERS=@im=fcitx</syntaxhighlight>
 
 
 
GUIでログインしてテキストエディタで、「Ctrl+Space」または「全角/半角」「E/J」キーを押すと、日本語入力できるかと思います。
 
 
 
ちなみにsshなどで接続している場合は、クライアント側の[https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5#%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%85%A5%E5%8A%9B%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5 FEP](古いwww)で入力されるので問題ありません。
 
 
 
= 経験したトラブル =
 
== ネットワークのアイコンに「?」が出た ==
 
環境にもよるのですが…NetworkManagerは一定間隔で、接続確認をしているそうです。<ref name="NetworkIcon_Less" /><br/>
 
例えば、認証プロキシ配下で動作させると、当然認証前は接続確認できないわけで…<br/>
 
その結果ネットワークのアイコンに「?」が出るそうです。<br/>
 
という訳で、接続確認をしないようにします。
 
 
 
やり方は「/etc/NetworkManager/conf.d」ディレクトリに、任意のconfファイル(参考サイトだと「20-connectivity.conf 」)を以下の内容で作成します。
 
<syntaxhighlight lang="text">[connectivity]
 
uri=</syntaxhighlight>
 
(必要に応じてNetworkManagerを再起動)
 
 
 
これで、接続確認しなくなるようです。
 
 
 
== ネットワークの設定が沢山 ==
 
GUIでネットワークの設定が、NICのデバイス名の他、有線接続1など複数表示されてしまいました。<br/>
 
しかも、有効になっているのはNICのデバイス名の方…(Debianの経験から「有線接続1」が有効になってほしい…)<br/>
 
なんとなく心当たりが…<br/>
 
インストールの時に「dhcpcdサービス」を有効にしたのが原因ぽいです。<br/>
 
(GNOMEはNetworkManagerで管理してますから…)<br/>
 
 
 
そこで以下のコマンドで、dhcpcdサービスを無効化します。
 
<syntaxhighlight lang="bash">systemctl disable dhcpcd@[interface].service</syntaxhighlight>
 
[interface]をNICのデバイス名に置き換えてください。
 
 
 
これできれいになりました!!!
 
  
 
= 参考サイト =
 
= 参考サイト =
[https://wiki.archlinux.jp/index.php/GNOME GNOME - ArchWiki]<br/>
+
[https://wiki.archlinux.jp/index.php/Samba Samba - ArchWiki]<br/>
[http://note.kurodigi.com/post-0-19/ Arch Linuxに日本語環境を構築する]<br/>
+
[http://www.samba.gr.jp/doc/samba2.0_and_linux.html 日本Sambaユーザ会 - SambaによるWindowsファイルサーバ構築]<br/>
[http://qa.elecom.co.jp/faq_detail.html?id=5262 キーボードの種類を知りたい/106、109キーボードとは?/英語、日本語キ...]<br/>
 
[https://wiki.archlinux.jp/index.php/Fcitx Fcitx - ArchWiki]<br/>
 
[https://blog.masudak.net/entry/2015/08/04/200000 ~/.profileが読み込まれなくて困ったら、ここを見る! - カイワレの大冒険 Third]<br/>
 
 
 
= 脚注 =
 
<references>
 
<ref name="NetworkIcon_Less">[https://forum.manjaro.org/t/working-ethernet-connection-now-shows-question-mark-icon/43556 Working ethernet connection now shows question mark icon - Newbie Corner - Manjaro Linux Forum]</ref>
 
</references>
 
  
 
[[Category:ArchLinux]]
 
[[Category:ArchLinux]]
[[Category:GNOME]]
+
[[Category:Samba]]

2019年7月26日 (金) 14:40時点における版

色々事情がありまして…Dropboxを動作させるユーザーIDとSambaで共有するためのユーザーIDは同一のものにしようとしています。
また、PC(Windows10)及びRaspbianと共有することが前提となっています。
そこらあたり前提の手順となっておりますが、ご了承ください。

Sambaのインストール

以下のコマンドを実行して、Sambaをインストールします。

pacman -S samba


上記でインストールしても設定ファイルが作成されないようです…。
なので、下記コマンドで設定ファイル「smb.conf」をダウンロードします。

wget "https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD" -O /etc/samba/smb.conf

※wgetがインストールされていない場合は「pacman -S wget」でインストールしてください。

設定

ここからが難題です…。
Sambaですが汎用性が高いからか、設定が非常に煩雑?です…。
細かいところまで手が届くと言えばそうなのですが…家で適当に使用するにはオーバースペックな感じを受けます…。

そこで、できるだけ最小限の設定を目指します。

「nano」等のエディタで「/etc/samba/smb.conf」を開きます。

ログの出力先

はじめに…参考サイトにも書かれていますがログの出力先を、一般的な場所に変更します。

変更前

log file = /usr/local/samba/var/log.%m

変更後

log file = /var/log/samba/%m.log

とりあえず書いてある通りに設定してみる

ワークグループの設定

「workgroup」に「WORKGROUP」を設定します。

ホームディレクトリの設定

「valid users = %S」だけ書かれていないので追記します。

[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   valid users = %S

ちなみに…「%S」ですが、ユーザーIDが入るようです。
で「valid users」は許可するユーザーなので…
みんな許可するってことになるかと思います。

サービスの起動

以下のコマンドで2つのサービスを起動します。

systemctl start smb
systemctl start nmb

ユーザーの追加

Sambaに接続するためのユーザーを追加します。

Sambaで利用するユーザーはArchLinuxのユーザーとして登録されている必要があります。
今回は「dropbox-test」というユーザーを追加してみます。

ArchLinuxにユーザーを追加

まず、ArchLinuxにユーザーを追加します。

useradd -m dropbox-test

続けてパスワードを設定します。

passwd dropbox-test


これで、Smabaのユーザーを登録する準備が整いました。

Sambaにユーザーを追加

引き続き、以下のコマンドでSambaにユーザーを登録します。

pdbedit -a -u dropbox-test

「-a」はユーザーの追加、「-u」はユーザー名を指定する、という意味です。

登録したときに以下のようなメッセージが表示されれば成功です。

Unix username:        dropbox-test
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-3457465057-3604410224-1916174006-1000
Primary Group SID:    S-1-5-21-3457465057-3604410224-1916174006-513
Full Name:            
Home Directory:       \\archlinux\dropbox-test
HomeDir Drive:        
Logon Script:         
Profile Path:         \\archlinux\dropbox-test\profile
Domain:               ARCHLINUX
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          木, 07  2月 2036 00:06:39 JST
Kickoff time:         木, 07  2月 2036 00:06:39 JST
Password last set:    金, 05  7月 2019 14:51:27 JST
Password can change:  金, 05  7月 2019 14:51:27 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

接続

Windowsの場合

ホームディレクトリの設定しかしていませんが…Windowsから接続してみます。
エクスプローラーのアドレス欄に、サーバーのIPアドレスを入力します。
すると、以下の様にIDとパスワードを聞かれます。
(画面がWindows10では無いですが…)
Archlinux-samba-001.png

Samba用に登録したユーザーIDとパスワードを入力します。
ログインすると、ユーザーIDと同じ名前の共有フォルダがあるかと思います。

入れれば成功です。念のため、ファイルやディレクトリの作成・削除をしてみてください。

Linuxの場合

コマンド接続

クライアント側で以下のコマンドを実行します。

mkdir /mnt/Homes
mount.cifs -o username=[userid],password=[password],iocharset=utf8,rw,vers=3.0 //[ip address]/Homes /mnt/Homes

起動時接続

「nano」等のエディタで「/etc/fstab」を以下の行を追記します。

//[ip address]/Homes /mnt/Homes cifs username=[userid],password=[password],iocharset=utf8,rw,x-systemd.automount,_netdev,vers=3.0 0 2

任意のディレクトリを共有

今度は任意のディレクトリを共有してみます。
共有するディレクトリは「/mnt/Dropbox」ですwww。
ドロップボックスのディレクトリを共有します。

共有ディレクトリの作成

まぁ書くほどのことは無いですが…

mkdir /mnt/Dropbox

でディレクトリを作成します。
また、所有者を以下のコマンドで「dropbox-test」に変更します。

chown dropbox-test:dropbox-test /mnt/Dropbox

共有設定

先ほどと同じく「/etc/samba/smb.conf」を編集していきます。
ファイルの最後に以下を追記します。

[Dropbox]
   comment = Dropbox Directory
   path = /mnt/Dropbox
   writable = yes
   valid users = dropbox-test

サービスの読み込み直し

以下のコマンドで読み込み直します。

systemctl reload smb
systemctl reload nmb


以上で、接続すると見れるかと思います。

参考サイト

Samba - ArchWiki
日本Sambaユーザ会 - SambaによるWindowsファイルサーバ構築