空腹おやじのログと備忘録

VBA(主にExcel)でいろいろな実験的な事とか、Linuxのコマンドとか設定とかについて忘れないように、あれこれと・・・

Manjaro Linux pacmanのkeyringエラー発生時の対処方法

Manjaro Linuxを使っていると、pacmanによる更新処理時にsignatureエラーが発生することがあります。その対処方法が、Manjaro Linux Forumの先頭に載っていたので、忘れないようにメモを・・・

 

$ sudo pacman -Sy archlinux-keyring manjaro-keyring
$ sudo pacman-key --populate archlinux manjaro
$ sudo pacman-key --refresh-keys

 

Forumは↓
forum.manjaro.org

Manjaro Linuxで、ショートカット「Super+E」でNemoが起動しなくなった

使用しているManjaro Linuxに、Easy Tagをインストールしたところ、ショートカットキー「Super+E」でEasy Tagが起動するようになってしまいました。

外付けのUSB HDDを接続した際も、Easy Tagが起動します。orz

調べてみたところ、ファイルマネージャーが、NemoからEasy Tagに切り替わってしまったようです。

f:id:Z1000S:20171119153504p:plain

そこで、ファイルマネージャーを元通りNemoに直したところ、無事元通りとなりました。

f:id:Z1000S:20171119153529p:plain

 

Manjaro Linuxで、pacmanのミラーを更新するコマンド

Manjaro Linuxpacmanのミラーを更新する際に、

$ sudo pacman-mirrors -g

 

としていたものが、エラーになりました。

pacman-mirrors: error: unrecognized arguments: -g

オプションの -g が認識されなくなりました。

ヘルプをみてみると

Deprecated argument: '-g/--generate'!
Please use '-f/--fasttrack NUMBER', Use 0 for all mirrors

 

推奨されない引数とされていました。

-f を使えということのようです。

これまでと同様に全ミラーを対象とするには、

$ sudo pacman-mirrors -f 0

 

とすると良いようです。

パッケージリストの更新までやるには、

$ sudo pacman-mirrors -f 0 && sudo pacman -Syy


とすればOK

disk と disc の違い

音楽データをあれこれしていたら、ふと気が付いた。
Disc 1、Disc 2というフォルダがある。
Disk 1、Disk 2の間違いではないのか?

 

Wikipediaによると、
 disc:イギリス英語
 disk:アメリカ英語
だそうである。

 

Appleさんによると、
 disc:オーディオ CD、CD-ROM、DVD-ROM、DVD-RAM、DVD-Video ディスクなどの光学式メディア
 disk:フロッピーディスク、コンピュータのハードドライブ内のディスク、外部ハードドライブなどの磁気メディア
だそうです。(Wikipediaには、この根拠は不明との記載がある。)

 

ということで、Disc 1、Disc 2で間違いないようである。

Shuttle Music Player (Android)のライブラリの更新(ファイル削除時)Part 1

最初に
ここに記載の内容についてはPart2があります。根本的な解決策はPart2の方に記載してあります。

 

スマホで、Shuttle Music Playerを使い始めました。
とりあえず、問題もなく使っていたのですが、聞かない曲をファイラーで(SDカードから)削除したところ、アプリのライブラリには、削除したはずの曲が残っています。

アプリのライブラリから、存在しない曲を削除しようとしても出来ません。
ライブラリの再スキャンとか、更新といった項目を、アプリのメニューや設定を探しても見当たりません。

色々と調べ回った結果、たどり着いた結論は、
SDカードを一旦アンマウントし、再度マウントし、強制的にメディアライブラリを再構築させる
でした。

他にも、「設定」の「アプリ」内にある「メディアストレージ」の「データを消去」したら、OSを再起動して、再構築って方法もあるみたいです。
この方法の場合、再起動直後に、アプリを起動すると、「曲が無いから、何か追加してみろ」と言われました。少し時間をおいてからアプリを起動すると正しく表示されましたが、要は、ライブラリが再構築されるまでは、正しい表示がされないようです。その辺りも分かっていないと、「これでもだめなの?」って悩んでしまいます。

もう少し、分かりやすくして欲しいと思うのは私だけ?

 

2017/11/19追記
上記の手順でライブラリは更新されるのですが、プレイリストがクリアされてしまうようです。
他にいい方法は無いのか、また探すなり調べるなりしないといけないのか?

 

2017/11/29追記 (最終解決策:Part 2)
ライブラリを更新するアプリを使用することで、対応できるようです。
こちら(Part 2)にまとめましたので、興味のある方はご覧ください。

sambaを設定して、PCとスマホ間のデータの受け渡しをしてみた

PCとスマホ間でデータの受け渡しを行うことがあります。 数MBとか、数十MB程度であれば、Googleドライブや、USBメモリ経由でも気にならないのですが 数百MBとか、GB単位のファイルとなると、手間も時間もかかります。(「なぜ、そんなデカイものを」という突っ込みは置いといて・・・)
そこで、sambaによるファイル共有を利用してみることにしました。

よく見かけるのは、smb.confに、共有ディレクトリのセクションを追記していく方法ですが、最近(?)では、それとは別に、root 以外のユーザーが共有の追加、修正、削除を行なうことを可能とする機能「ユーザー定義共有」という、コマンドで共有ディレクトリを設定する方法があるようなので、その方法で設定してみました。

環境

PC:Antergos Linux Release 17.6 (デスクトップ:Cinnamon)
  Manjaro Linux(Cinnamon)やRaspberry piでも同じ手順で出来るようです。
スマホAndroid 7.0

手順

  1. sambaのインストール
  2. ユーザー定義共有の作成
  3. sambaの設定
  4. サービスの再起動
  5. sambaユーザーの作成
  6. 共有ディレクトリの作成と登録
  7. スマホの設定

詳細

1.sambaのインストール

Antergos Linux(Cinnamon)では、デフォルトでsambaがインストールされていました。
しかし、設定ファイルであるsmb.confがありません。どうやら、自分でデフォルトの設定ファイルをダウンロードする必要があるようです。 ArchWikiによると、以下のコマンドでダウンロードできるようです。

2.ユーザー定義共有の作成

共有設定を格納するディレクトリ、および共有するユーザーグループ

 

共有設定を格納するディレクトリを作成
$ sudo mkdir -p /var/lib/samba/usershare
システムアカウントとして、sambashareを作成
$ sudo groupadd -r sambashare
作成したディレクトリの所有グループを変更
$ sudo chown root:sambashare /var/lib/samba/usershare
アクセス権を変更(スティッキービット有り)
$ sudo chmod 1770 /var/lib/samba/usershare

 

sambashare グループにユーザー(自分:Z1000)を追加

$ sudo gpasswd sambashare -a z1000

ここで追加するユーザーは、Antergosに登録されているユーザーでなければいけない。
ここで追加したユーザーが、下記の共有ディレクトリ登録等のコマンド(net usershare)を実行できるらしい。

3.sambaの設定

/etc/samba/smb.confの設定
以下の設定は、自分だけがPCとスマホでデータを受け渡す事しか考えていないので、Homeディレクトリや、プリンタの共有は行っていません。

globalセクション

;共有設定を格納するディレクト
usershare path = /var/lib/samba/usershare
;作成を許可するユーザー定義共有の最大数(デフォルトは0らしいので、明示的に指定しないと、共有を作れないらしい)
usershare max shares = 3
;ゲストアクセスを許可しない
usershare allow guests = no
;ユーザーが所有しているディレクトリのみが共有可能とする
usershare owner only = yes

;rootによるサービスへのログインは許可しない
invalid users = root

;パスワードデータベース形式はTDBファイル
passdb backend = tdbsam

;クライアントに、正しいユーザー名とパスワードでログオンを行なわせる
security = user

;プリンタを共有しない
load printers = no
printcap name = /dev/null
disable spoolss = yes

disable spoolss です。spools(sが足りない)とすると、testparmでメッセージが出るので注意。

 

homesセクション

すべてコメント

; comment = Home Directories
; browseable = no
; writable = yes

 

printersセクション

すべてコメント

; comment = All Printers
; path = /usr/spool/samba
; browseable = no
# Set public = yes to allow user 'guest account' to print
; guest ok = no
; writable = no
; printable = yes

 

設定ファイルの確認
$ testparm

4.サービスの再起動

サービスの再起動
$ sudo systemctl restart smbd.service
$ sudo systemctl restart nmbd.service
自動起動の設定
$ sudo systemctl enable smbd.service
$ sudo systemctl enable nmbd.service

5.sambaユーザーの作成

sambaアクセス用ユーザー(Z1000)の作成
$ sudo pdbedit -a -u z1000

6.共有ディレクトリの作成と登録

共有名"Share"で、/home/z1000/Shareを共有する。

共有ディレクトリの作成
$ net usershare add Share /home/z1000/Share MyPrivateShare z1000:F

 

項目値備考

共有名 Share 指定必須
共有するディレクト /home/z1000/Share 指定必須
コメント MyPrivateShare 指定は任意
アクセス権 z1000:F ユーザーZ1000に対し、フルアクセスを許可する。
デフォルト(指定しない場合)は、読み取り専用らしいので書き込み権限を追加しないとスマホ側からアップロードできない。
アクセス権の指定は、"ユーザー:"の後ろに
 R:読み取り専用
 D:拒否
 F:フルコントロール
のいずれかを指定する。
すべてのユーザーを対象とする場合には、ユーザー名をeveryoneとする。
複数のユーザーを指定する場合、","で区切る

作成した共有ディレクトリの確認や削除は以下の通り

共有ディレクトリの一覧
$ net usershare list
共有ディレクトリの情報
$ net usershare info
$ net usershare info Share
共有ディレクトリの削除
$ net usershare delete Share

7.スマホの設定

スマホでは、Flashlight + Clockのファイルマネージャーを使用しました。
こちらの設定の詳細は、省略しますが、5.sambaユーザーの作成で作成したユーザーを指定し、無事データの受け渡しが出来るようになりました。
Googleドライブ経由に比べ、クラウドにアップロードする手間もいらない上、転送速度が格段に速く、快適です。

参考にしたサイト

Samba - ArcWiki
ThinkIT 第4回:Samba 3.0.20以降の新機能を追え(3)
Sambaサーバ構築、5つのべからず:2008年版
smb.conf

LinuxでネットワークインターフェイスをUp、Downするコマンド

まずは、インターフェイスの識別

ip addr | grep 192.168
    inet 192.168.1.11/24 brd 192.168.1.255 scope global dynamic enp3s0

enp3s0とわかったところで、

sudo ip link set enp3s0 down

sudo ip link set enp3s0 up


ifdown、ifup→、ifconfig→ipと変わるたびに覚え直さないと・・・