soramono雑記

Ubuntuメインのひよこユーザー。

Ubuntu【勉強中24】壁紙を追加してみた

 久々に壁紙を変えようかと思い、画像を右クリックから「壁紙に設定する」をしました。
 そうしたら、自動的に画像(コピー)が作成され困惑( ゚д゚)ポカーン
 邪魔だな〜と思って(コピー)を削除したら、次に起動した時には壁紙がデフォルトに戻されてました。(コピー)じゃないとあかんのか?
 
 システム設定の「外観」ではデフォルトの「壁紙」以外に、「画像フォルダー」でPictures内の画像を表示できますが、他フォルダは表示されません。「+」で追加すればいい話ですが、せっかくだし「壁紙」に並べたい…。
イメージ 1
 画像移動は以前やったことあるのですが、「壁紙」に選択表示されなかったので戻したことがあります。
 そこで、システムフォルダ内で見つけたファイルを確認したところ、もしかしたら自力で壁紙表示を増やせるかも、と思い至りました。
 
------------------------------
Ubuntu 16.04 LTSでの実践です。
------------------------------
 
 まず、Ubuntuのデフォルト壁紙が置かれている場所を確認。
 
/usr/share/backgrounds/
 
 追加したい画像としてVistaの壁紙を持ってきました。「c:\Windows\Web\Wallpaper\」に入ってます。とりあえず今回は「img36.jpg」です。
イメージ 4
 壁紙用に準備した画像はPicturesに作成した「Wallpapers」フォルダに纏めてます。
 
※私はフォルダ名を英語表示にしているので、日本語表示の場合は入力に注意。
・Desktop→デスクトップ
・Pictures→ピクチャー
 
 では、システムフォルダに追加したい画像をコピーします。
 
$ sudo cp ./Pictures/Wallpapers/img36.jpg /usr/share/backgrounds/
 
 移動(mv)でもいいんですが、念の為コピー(cp)です。
 私は色々フォルダ分けしているせいでアドレスが面倒なことになってます(笑)
 アドレス省略したい場合は、先にディレクトリ移動するのもいいですね。
 
$ cd ./Pictures/Wallpapers
$ sudo cp img36.jpg /usr/share/backgrounds/
 
 …スッキリしてるように見えてどっちも面倒だった(笑)
 
 画像を移動させただけでは「外観」の「壁紙」に反映されません。読み込みに必要なファイルを編集しなければいけないようです。
 
 そこで「/usr/share/backgrounds/contest/」にあった「xenial.xml」をgeditで開いてみたところ、HTMLファイルみたいな作りに気づきました。
 
 昔、趣味で二次創作サイトを作っていた頃、自力でHTMLファイル作成していた経験から、編集したらいけるかも…と思い至りました。表の作り方はなんとなく覚えていますよ!(๑•̀ㅂ•́)و✧<table>タグの勉強がここに活かされる!(笑)
 
 …とは言っても、XMLファイルは初めてなので、まずはデスクトップにファイルをコピーして間接的に編集してみることにしました。
 
 Vi編集に慣れてる人は端末上で直接編集できますが、慣れてない人はgedit等テキストエディターで編集してみましょう。
 
 システムファイルは「読み取り専用」なので、直接エディターで開いても編集できません。編集するには「home」ディレクトリ…つまり、いつも使っているアカウント画面上に移動させてから編集作業に入ります。
 ちなみに、システムファイルのコピーは右クリック「指定先にコピー」で大丈夫です。
 
参考■XMLについて
 
 XMLのタグって自由に設定できるようですね。HTMLは定義が決まっていたので便利なんだか不便なんだか悩むところです(・ัω・ั)
 
 編集してみたはいいものの「壁紙」に反映されませんでした。どうもこのファイルを編集するんじゃないみたいです。
 
 改めて調べてみたところ、以下の参考記事を発見。
 
 
 2014年の記事ですが、壁紙に関するフォルダが他にもあった!ということで参考になりました。
 
/usr/share/gnome-background-properties/
 
 ↑のフォルダに2つのXMLファイルを発見。
 
ubuntu-wallpapers.xml
・xenial-wallpapers.xml
 
 geditで中身確認したところ、「xenial-wallpapers.xml」を編集すれば行けそうです。
 早速ファイルをデスクトップにコピーして編集します。
イメージ 2
 色が塗られてる部分が追加した部分です。追加をわかりやすくするように上下に空白を入れました。
 画像名2ヶ所だけ変更し、他は一つ上の画像分をコピペしたものです。<pcolor><scolor>は好きに変更できそうですが、無難に黒【#000000】です。ちなみに白は【#ffffff】です。
 
 編集保存したら、システムフォルダに上書きします。元ファイルは別の場所にコピー保存しておくと失敗した時に元に戻せるので安心です。
 
$ sudo cp ./Desktop/xenial-wallpapers.xml /usr/share/gnome-background-properties/
 
 無事上書き出来ましたら、確認のため、デスクトップで右クリックメニューから「背景の変更」で「外観」ウィンドウを開きます。
イメージ 3
 無事に壁紙が追加されました!!ヾ(*´∀`*)ノキャッキャ
 
 …で、気になったので「/usr/share/backgrounds/contest/xenial.xml」を編集しなかったらどうなったのか確かめました。
 Vi編集で追記した分を削除した後、「外観」を開いたら…壁紙追加されたまま…ということは、このファイルは編集せずとも問題なかったようです( ゚д゚)マジカ
 
 
【結果】
1)追加したい画像を「/usr/share/backgrounds/」に置く。
2)「/usr/share/gnome-background-properties/xenial-wallpapers.xml」を編集して追加画像を登録する。
 
 これで「外観」の「壁紙」に選択肢が追加されました。
 
 Viで直接編集すれば、geditでのファイルコピペ&編集作業を省略できます。
 
$ sudo vi /usr/share/gnome-background-properties/xenial-wallpapers.xml
 
参考■Vi/Vim編集について
 
 私はVi編集に慣れてないので面倒な方法を取りましたが…(´・ω・`)