Linuxの音楽再生ソフト・動画再生ソフトをAndroid端末で操作する方法

Linuxで起動している音楽再生ソフトや動画再生ソフトを、Android端末から操作する方法を紹介します。

〈目次〉


機能

Android端末から、これらの操作ができます

  • 再生/一時停止
  • 早戻し/早送り
  • 前の曲(ファイル)/次の曲への移動
  • 曲(ファイル)の特定の位置への移動(シークバーの操作)
  • 音量の変更(操作対象である個別のソフトウェアの音量のみを変更できる)

必要なもの

Linux側にはこの2つのソフトをインストールします。

  • KDE Connect
  • KDE Connect Indicator

ただしLinuxのデスクトップ環境がKDE Plasmaである場合は、Linux側へのこれらのソフトのインストールはおそらく不要です。また、デスクトップ環境がGNOMEである場合は、GSConnectというGNOME Shell Extensionで代用できます

Android端末にはこちらをインストールします。

LinuxAndroid端末は同じLANに接続している必要があります。

設定の手順

デスクトップ環境がKDE Plasmaである場合は、下記の説明とは手順が異なるかもしれません。また、デスクトップ環境がGNOMEであり上述のGSConnectを使う場合は、設定の手順と使い方についてはLinux Fanさんの記事をお読み下さい。

LinuxのソフトウェアセンターやパッケージマネージャでKDE ConnectとKDE Connect Indicatorを検索し、インストールします。

f:id:ichbin:20180722101503p:plain
(例えばManjaro Linuxのパッケージマネージャ(Pamac manager)で“kde connect”と検索すると、このようにヒットします)

端末(Terminal)からインストールする場合のコマンドは、Linuxディストリビューションによって異なります。

Linuxファイアウォールに設定を加えます(設定の詳細)。ファイアウォールufwであれば、Terminalでこのコマンドを実行します。

sudo ufw allow 1714:1764/udp
sudo ufw allow 1714:1764/tcp
sudo ufw reload

Google Play Storeから、Android端末にKDE Connectをインストール。

f:id:ichbin:20180722114343p:plain

LinuxKDE Connect Indicatorを起動すると、画面内のいわゆる「タスクバー」などにKDE Connect Indicatorのアイコンが表示されますので、これを右クリックして現れる“Configure”をクリック。

f:id:ichbin:20180722101821p:plain
(縦長のスマートフォンのような形のアイコン。この画像では右から6番目。)

すると、このような画面が出ます。

f:id:ichbin:20180722101940p:plain

“Refresh”というボタンの上側の欄に、KDE Connectをインストール済みのAndroid端末が表示されます。この画像では“BNT-71”という端末が表示されていますので、これをクリック。すると、この画面の右側に“Request pair”というボタンが出ます。これをクリック。

すると、Android端末に“Pairing request from ○○”という通知が来ます。

f:id:ichbin:20180722102215p:plain

この通知内の“ACCEPT”をクリック。すると、この画面になります。

f:id:ichbin:20180722102304p:plain

そしてこのときLinux側でも、このAndroid端末と連携できたことを示す画面になります(下記のように端末名の左側にアイコンが付くなど)。

f:id:ichbin:20180722102001p:plain

この画面で“Available plugins”と書いてあるところの下に複数のアイコンが並んでいます。音楽や動画の操作をするためには、必ず“Multimedia control receiver”にチェックを入れておきます(他の項目へのチェックは必須ではありません)*1。そして画面下の“OK"をクリック。

次に、Android端末のKDE Connectの画面で下記のように“Multimedia control”が表示されていることを確認します。

f:id:ichbin:20180722102304p:plain

もしそこに“Multimedia control”が表示されていなければ、その画面の右上にある「︙」のアイコンをタップし、“Plugin settings”の画面に入ります。

f:id:ichbin:20180722102501p:plain
(最下段に“Multimedia controls”)

“Plugin settings”の画面で“Multimedia controls”にチェックを入れておきます(他の項目へのチェックは必須ではありません)。

設定はこれで終わりです。

使い方

上述のとおりLinux側にはKDE ConnectとKDE Connect Indicatorという2つのソフトをインストールしましたが、音声/動画の操作をAndroid端末から行おうとする際に、後者(KDE Connect Indicator)を起動する必要はありません。また前者はLinuxの起動時に自動で起動するしくみになっているようです。Android側のKDE Connectも、デフォルトでは自動で起動するはずです。従って、KDE ConnectとKDE Connect Indicatorのインストール後は、特に下準備などを必要としません。

Linuxで音声や動画を再生するソフトを起動し再生を始めると、Android端末に通知が出ます。この通知からは〈再生・一時停止・前の曲へ移動・次の曲へ移動〉という操作ができます。Android端末の画面ロック中にも通知を表示する設定にしておけば、画面ロック中でも通知からの操作ができます。

f:id:ichbin:20180722102556p:plain

同じく、再生中にAndroid端末のKDE Connectを起動し、“Multimedia control”をタップすると、このような画面になります。より多くの操作ができます。

f:id:ichbin:20180722102654p:plain

この画像ではGoogle Play Music Desktop Playerを操作しており、操作対象のソフトの名前が中央あたりに表示されています。Linux側で他のソフト(例えばVLCメディアプレイヤー)を同時に起動していれば、下記のように操作対象のソフトを選択欄で切り替えることができます。

f:id:ichbin:20180722102712p:plain

*1:使用しない項目(機能)からはチェックを外しておいたほうが快適です。

記事にするほどでもない小技集(5)

〈目次〉


Ubuntu 18.04.1がロゴ画面から先へ進まなくなったときの対処法

起動中にUbuntuのロゴが表示されたところから先へ進まなくなった場合、こちらの方法を実行すると、正しく起動できる可能性があります。

文中でviを使う部分では、

「vi」で編集する場合は、以下のコマンドを実行します。

vi /etc/gdm3/custom.conf

ファイルが開いたら、以下の行を探します。

#WaylandEnable=false

行頭の「#」を削除し、以下のように編集します。

WaylandEnable=false

と説明があります。行頭の#の削除はdeleteキーを押せばできます。その後、Control + xとキーを押せば、テキストエディター(vi)の編集モードが終了します。

LinuxでHDDやパーティションが「読み取り専用」でマウントされたときの対処法

そのハードディスク(パーティション)がWindowsと共用である場合には、Linuxを一旦シャットダウンし、Windowsを一度起動してそれをシャットダウンしてから再びLinuxを起動してマウントすると、「読み取り専用」の状態が直る場合があります。

Manjaro LinuxShutterのアップデート後に編集ボタンが機能しなくなった場合の対処法

perl-Goo-Canvasを再インストールすれば解決すると思います。

GNOMEのデスクトップ通知音が鳴らないときに視覚的に知らせる方法

※この記事は「通知音が鳴らないときの対処法」という文脈で書かれていますが、「通知音を出さずにデスクトップ通知の存在を知る方法」として読むことも可能です。


GNOMEでは、デスクトップ通知の際に音を鳴らすためには、下記の画像のように設定画面の中の「サウンド」の項目の「音響効果」のタブで「警告音の音量」をゼロより大きくしておかなければいけませんが、そのようにしても音が鳴らない場合があります。

f:id:ichbin:20180531075518p:plain

音を使わずに通知を知らせる方法として、画面の一部を点滅させるという「視覚警告」という機能がデフォルトでGNOMEに備わっていますが(設定画面の「ユニバーサルアクセス」の中にある)、それも機能しない場合があります。

f:id:ichbin:20180531075537p:plain

その場合の対処法として、下記のNtofication AlertやRecent Notificationsというソフトを使うと便利です。

対策1:Notification Alert

GNOME Shell ExtensionsのNotifications Alertを使うと、通知が来ればデスクトップの「パネル」の中央にある時計の文字が赤/白で点滅し続けるので、通知の存在を視覚的に知れるようになります。

f:id:ichbin:20180531085505p:plain

時計をクリックして通知欄を開けば、点滅が止まります。赤以外の色も選べるようです。

Notification Alertのインストール方法と設定変更
準備

端末で sudo apt-get install chrome-gnome-shell と実行して chrome-gnome-shell をインストールします。

また、GNOME Shell EXtensionsのインストールにはWebブラウザが必要なので、WebブラウザとしてFirefoxを使う場合はFirefoxGNOME Shell Integrationというアドオンをインストール。ChromiumChromeを使う場合は、ChromeウェブストアのGNOME Shell integrationという拡張機能をインストールします。

Notification Alertのインストール

上述のアドオンや拡張機能をインストールしたWebブラウザでNotifications Alertのページを開き、Notification Alertというタイトルの右側にあるスライド式スイッチを動かして"ON"にします。「ダウンロードしてインストールしますか?」と訊かれたら「インストール」を選択。それで完了です。

Notification Alertの設定変更

インストール後に、Notifications Alertのページでタイトルの右側にある工具のアイコンをクリックすると設定画面が開きます。

f:id:ichbin:20180531081751p:plain
(×アイコンの左)

f:id:ichbin:20180531081221p:plain

設定項目は、上から順に

  • 点滅させる色の指定
  • チャットの通知のみを知らせるかどうか
  • 通知をオフにしている状態でも知らせるかどうか
  • 点滅の速さ
  • 通知を知らせないアプリケーションのリスト

となっているようです。

対策2:Recent Notifications

上述のNotification Alertに似たものとして、Recent Notificationsというソフトもあります。こちらの記事で解説されています。

UbuntuなどのGNOME系デスクトップ環境で画面の明るさが維持されない問題の対処法

GNOMEや、GNOMEから派生したデスクトップ環境を用いるOS(Ubuntu、Manjaro GNOME Edition、Ubntu Budgieなど)において、ログイン後に端末で

$ xrandr --output VGA1 --brightness 0.7

などと入力すると、画面の明るさ(輝度)を変えることができますが、その操作を実行した後で、別のアクション(アプリケーションのウィンドウを開いたり、テキストエディタに文字を入力したり)をすると、画面の明るさが勝手に元に戻ってしまう(100%の明るさに戻る)という不具合が起こることがあります。

筆者は、この不具合を下記の4つのOSで経験しています。いずれも、GNOMEまたはGNOMEから派生したデスクトップ環境です。*1

  • Ubuntu 18.04 LTS
  • Manjaro GNOME Edition 17.1.10
  • Ubuntu Budgie 18.04 LTS
  • Zorin OS 12.3 Core

この不具合の対処法が、AdamKane41氏によりGitHubに発表されていたので、ここに和訳しておきます。*2 Ubuntu 18.04 LTSとManjaro GNOME Edition 17.1.10とUbuntu Budgie 18.04 LTSでこの対処法を実行してみたところ、成功しました(ログイン中には、明るさが勝手に100%に戻ることはなくなった)。


※原文:Sometimes when I open a window (especially chromium) brightness controller resets brightness settings to default (not on app ui) · Issue #102 · LordAmit/Brightness · GitHubにおけるAdamKane41氏の回答

この不具合は /usr/lib/gnome-settings-daemon/gsd-color (GNOME Settings Daemon's color plugin) によって起こります。これがログイン時に自動で実行されることを防ぐことにより、xrandrコマンドなどで設定した画面の明るさや色を維持することができます。

設定方法

(1) GNOME Settings Daemon's color plugin は「自動起動するアプリケーション」にデフォルトで登録されていますが、デフォルトでは「自動起動するアプリケーション」のウィンドウ内に表示されない設定になっているので、端末で下記のコマンドを実行して、同ウィンドウ内に表示させるようにします。

sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop ~/.config/autostart/*.desktop

(2) 「自動起動するアプリケーション」を開きます(端末で gnome-session-properties と実行すれば開く*3)。そのウィンドウの中で、"GNOME Settings Daemon's color plugin"というタイトルのものを見つけ、オン/オフのスイッチを動かして「オフ」にしてから、このウィンドウを閉じます。

自動起動するアプリケーション
(「自動起動するアプリケーション」ウィンドウ内の"GNOME Settings Daemon's color plugin"。画像はGithubから引用)

(3) その後でログオフして再びログインし、上述のようなxrandrコマンドやBrightness Controllerのようなソフトで明るさや色を設定すれば、ログイン中にそれが勝手に変更されることはなくなります。

(4) そのとおりになったら、 GNOME Settings Daemon's color plugin を「自動起動するアプリケーション」のウィンドウ内に表示させるようにした上述の設定(1)を元に戻すために、下記のコマンドを端末で実行しましょう。

echo NoDisplay=true | find /etc/xdg/autostart ~/.config/autostart -name \*.desktop -exec sudo tee -a {} + >/dev/null

すべてをデフォルトに戻す方法

上述の設定をすべて取り消して元に戻すには、再び上述の1〜4を実行します。ただし、2のところで"GNOME Settings Daemon's color plugin"を(オフにするのではなく)オンにします。

(翻訳終わり)


その他の設定方法

Ubuntuの場合、 /etc/xdg/autostart/ に org.gnome.SettingsDaemon.Color.desktop というファイルがあります。これが、上述の手順において自動起動をオフにする対象となっているファイルでしょう。このファイルの内容は、デフォルトでは下記のようになっていると思います。

[Desktop Entry]
Type=Application
Name=GNOME Settings Daemon's color plugin
Exec=/usr/lib/gnome-settings-daemon/gsd-color
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=Initialization
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=true
X-Ubuntu-Gettext-Domain=gnome-settings-daemon

このファイルの末尾に、

X-GNOME-Autostart-enabled=false

と付け加えるだけでも、上述の手順の実行結果と同じ状態にできると思います*4*5

なお、この org.gnome.SettingsDaemon.Color.desktop というファイルは、ホームディレクトリの下の .config/autostart/ にも存在しているかもしれないので、存在していればそちらも同様に編集すべきかもしれません。


〈関連記事〉

*1:デスクトップ環境がXfceやCinnamon、KDE、MATEであれば、この不具合は起こりませんでした。

*2:訳者による補足を適宜入れていますので、原文にない文言もあります。

*3:Manjaro GNOME Editionなどのように、「自動起動するアプリケーション(gnome-session-properties)」がデフォルトではインストールされていないディストリビューションもあります。その場合は、この記事の後半に載せている「その他の設定方法」を実行すればよいと思います。

*4:このファイルをそのように編集するには、例えばテキストエディタとしてgeditを使う場合なら、端末で sudo gedit /etc/xdg/autostart/org.gnome.SettingsDaemon.Color.desktop と実行する。

*5:NoDisplay=true のところを NoDisplay=false に変えれば、"GNOME Settings Daemon's color plugin"が、上述の画像のように「自動起動するアプリケーション」のウィンドウ内に表示されるようになると思います。

luckyBackupが意図しない時刻にも実行される場合の対処法

例えば、毎日の午前9:00に自動でバックアップをするようluckyBackupで設定してあるのに、その時刻以外にもluckyBackupが自動でバックアップを行う、という現象が起こることがあるようです。

それは、luckyBackupの"schedule"の画面で remove のボタンと cron IT!! のボタンを押して取り除いたはずのスケジュールが、crontabファイルからは正しく取り除かれずに残ってしまい、その残ったものが実行されているせいではないか、と思われます。

f:id:ichbin:20180513212413p:plain
(例えば、この画像に載っている15:00と21:00のスケジュールを remove ボタンで消してから cron IT!! を押しても、crontabファイルからはその2つのスケジュールが消えていない、というようなこと)

端末で

crontab -l

と入力すると、ログイン中のユーザーのcrontabファイルの内容が表示されます。その中で、

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ luckybackup entries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 9 * * *   /usr/bin/luckybackup -c --no-questions --skip-critical /home/〈ユーザー名〉/.luckyBackup/profiles/default.profile > /home/〈ユーザー名〉/.luckyBackup/logs/default-LastCronLog.log 2>&1
0 15 * * *  /usr/bin/luckybackup -c --no-questions --skip-critical /home/〈ユーザー名〉/.luckyBackup/profiles/default.profile > /home/〈ユーザー名〉/.luckyBackup/logs/default-LastCronLog.log 2>&1
0 21 * * *  /usr/bin/luckybackup -c --no-questions --skip-critical /home/〈ユーザー名〉/.luckyBackup/profiles/default.profile > /home/〈ユーザー名〉/.luckyBackup/logs/default-LastCronLog.log 2>&1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end of luckybackup entries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

というように、"luckybackup entries"と"end of luckybackup entries"で挟まれた領域(行)が、luckyBackupのスケジュールを示しています。行頭が"0 9 * * *"などとなっているのが、個々のスケジュールに相当します。上述の例では3つのスケジュールが存在しています。

luckyBackupの画面で消したはずのスケジュールが、この挟まれた領域の中で消えずに残っていれば、それを消すことで、luckyBackupの不要な実行を止めることができます。*1

その手順を紹介します。

まず、crontabファイルを編集するエディタを指定します。ここでは例としてgeditを指定することにします。

端末を起動し、

$ EDITOR=gedit
$ export EDITOR

と入力。

次に、同じく端末で

crontab -e

と入力。

すると、geditが起動し、下記のようなテキストが表示されます。

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ luckybackup entries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 9 * * *    /usr/bin/luckybackup -c --no-questions --skip-critical /home/〈ユーザー名〉/.luckyBackup/profiles/default.profile > /home/〈ユーザー名〉/.luckyBackup/logs/default-LastCronLog.log 2>&1
0 15 * * *    /usr/bin/luckybackup -c --no-questions --skip-critical /home/〈ユーザー名〉/.luckyBackup/profiles/default.profile > /home/〈ユーザー名〉/.luckyBackup/logs/default-LastCronLog.log 2>&1
0 21 * * *    /usr/bin/luckybackup -c --no-questions --skip-critical /home/〈ユーザー名〉/.luckyBackup/profiles/default.profile > /home/〈ユーザー名〉/.luckyBackup/logs/default-LastCronLog.log 2>&1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end of luckybackup entries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

消したい行があれば削除します。"luckybackup entries"と"end of luckybackup entries"で挟まれた領域以外は、編集しません。

編集し終わったら、geditで「保存」を実行。そしてgeditを閉じます。これで完了です。

関連記事

*1:この挟まれた領域が、crontabファイルの中に、同一の内容で複数存在していることもあるかもしれません。その場合も、1つだけ残して他は消せます。