elementary os 5.0 juno に色々入れて使えるようにする備忘録

Apple
Photo by hyt.

elementary os 5.0 juno に色々入れて使えるようにする備忘録です.

前回の記事

elementary OS 5.0 juno を Macbook air 11 に入れてみた備忘録
elementary OS 5.0 juno を Macbook air 11 に入れてみた備忘録です.まずは結論を言っておくと,少し手間はかなりますかりますが快適に使える状態にもっていけます.でも,USB 接続の Ethernet アダプ...

で,elementary OS 5.0 juno を最低限使える状態にしました.しかし,これだけだとまだまだ実際に使うのには色々困りますので,さらにいろいろやってみた備忘録となります.昔お世話になった人曰く,

Unix は「盆栽」

なんだそう(激しく同意).だとすると,前回は植えただけなんで,今回は見られる形に整えるということですね.

なお,以下の記事を色々参考にさせていただきました.

elementary OS 5.0 Juno をインストールして最初にやったこと & 入れたツール16個 - Qiita
つい先日、2018年10月にelementary OS 5.0 Juno (Ubuntu 18.04 LTSベース) がリリースされたので評価用にサブマシンに入れて一通りセットアップした。んでその…

Git を入れる

以下,何を導入するにも必ず必要になるので,最初に入れるのが吉です.

$ sudo apt install git

LDAC/APT-X/AAC などのコーデックに Bluetooth を対応させる

実際の使い方などは,関連記事

Ubuntu Server 18.04 で pulseaudio-bluetooth server 備忘録
Ubuntu Server 18.04 で pulseaudio-bluetooth server 備忘録です.内容としては,以前の記事の続きとなります.Volumio を pulseaudio に対応させることができましたので,ネットワー...
Ubuntu と WF-1000XM3 の接続性と音量を改善する備忘録
Ubuntu と WF-1000XM3 の接続性と音量を改善する備忘録です.接続性の改善WF-1000XM3,とっても良いんですが,Ubuntu(Ubuntu 18.04 LTS + pulseaudio-modules-bt 環境)の組み...

をご覧ください.以下は最低限の作業のみ示します.

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:eh5/pulseaudio-a2dp
$ sudo apt update
$ sudo apt install libavcodec58 libldac pulseaudio-modules-bt
$ sudo apt upgrade

たったこれだけです.現時点ではまだ Windows も MacOS もまだ LDAC/APT-X HD/APT-X/AAC/SBC 全対応はしてませんので,やる価値は十分にあります.実際,音,全然違いますしね.

なお,GUI で接続,切断するより,ターミナルから CUI で操作するほうが確実に接続・切断が出来ます.私はどちらかと言うとターミナル族なので,全く気にはなりません.

100% 以上の音量に対応する

100% 以上の音量に対応する必要性がなんであるのか等は,関連記事,

Ubuntu と WF-1000XM3 の接続性と音量を改善する備忘録
Ubuntu と WF-1000XM3 の接続性と音量を改善する備忘録です.接続性の改善WF-1000XM3,とっても良いんですが,Ubuntu(Ubuntu 18.04 LTS + pulseaudio-modules-bt 環境)の組み...

をご覧ください.上の記事には CUI での設定方法を紹介していますが,以下の記事と同様に設定することで GUI で 100% 以上の音量を設定できます.

Can I boost the volume above 100% without going into System Settings?
Is there a tweak that allows me to boost the volume above 100% without having to go to System Settings -> Sound every ti...

まず,dconf editor をインストールし起動します.なお,dconf というのは Gnome の設定を保存しているシステムみたいです.

$ sudo apt-install dconf-editor
$ dconf-editor

起動後以下のように設定していきます.

  1. io → elementary → desktop → wingpanel → sound → max-volume  とたどる
  2. Use Default を False に設定
  3. 最大音量を % で設定する(実際に設定できる % の最大値は上の方に表示されています)
  4. org → gnome → desktop → sound とたどる
  5. allow-volume-above-100-percent  を ON にする

設定後,再ログインすることで,GUI で 100% 以上の音量を選べるようになります.


あとで気がついたんですが,これは elementary tweak を入れたほうが簡単でした.

GitHub - elementary-tweaks/elementary-tweaks: elementary OS customization tool
elementary OS customization tool. Contribute to elementary-tweaks/elementary-tweaks development by creating an account o...
$ sudo add-apt-repository ppa:philip.scott/elementary-tweaks
$ sudo apt install elementary-tweaks

これを入れるとダークモードとか「閉じる」ボタンの表示なんかも簡単に出来るみたいですし,他にも気の利いた設定ができるので,入れて損は無いと思います.


L2TP/IPSec VPN に対応させる

elementary OS 5.0 juno が標準的に対応する VPN の方式は PPTP と OpenVPN のみです.

PPTP はさすがにセキュリティ的な問題がありますし,OpenVPN は設定が難しくて私は出来る気がしません.と言うことで,MacOS,iOS が標準的にサポートしている L2TP/IPSec はせめて使いたい.

これは,記事

Anyone succeeded in setting up an IPSEC/L2TP VPN?
I have been struggling with setting up an IPSEC/L2TP based VPN for a couple of days, and I'm leaning towards that it's b...

にある通り,

$ sudo apt install intltool libtool network-manager-dev libnm-util-dev libnm-glib-dev libnm-glib-vpn-dev libnm-dev libnm-gtk-dev libnma-dev ppp-dev libsecret-1-dev xl2tpd strongswan libnss3-dev
$ sudo git clone https://github.com/nm-l2tp/network-manager-l2tp.git
$ cd network-manager-l2tp
$ sudo autoreconf -fi
$ sudo intltoolize
$ sudo ./configure \
  --disable-static --prefix=/usr \
  --sysconfdir=/etc --libdir=/usr/lib/x86_64-linux-gnu \
  --libexecdir=/usr/lib/NetworkManager \
  --localstatedir=/var \
  --with-pppd-plugin-dir=/usr/lib/pppd/2.4.7
$ sudo make
$ sudo make install

のようにすれば使えるようになります(職場の Gateway で実際につながることを確かめた).

Chrome を導入する

これ,無いと確かに始まりません.

elementary OS 5.0 Juno をインストールして最初にやったこと & 入れたツール16個 - Qiita
つい先日、2018年10月にelementary OS 5.0 Juno (Ubuntu 18.04 LTSベース) がリリースされたので評価用にサブマシンに入れて一通りセットアップした。んでその…

なお,上の記事だと gdeb が必要となっていましたが,私は以下の通り,google のリポジトリを追加して導入しました.

$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo apt update
$ sudo apt install google-chrome-stable

googler の導入

ターミナル派の私には手放せないターミナルで google 検索をするスクリプトです.残念ながら apt で入れることのできるバージョンは(多分 google の仕様の変更)使えなくなってるので,素直に git のリポジトリから導入します.単に必要なリンクを張るだけです.

$ cd /usr/local/src
$ sudo git clone https://github.com/jarun/googler.git
$ cd /usr/local/bin
$ sudo ln -s /usr/local/src/googler/googler .
$ sudo mkdir /usr/local/man/man1
$ sudo ln -s /usr/local/src/googler/googler.1 /usr/local/man/man1/.

リモートデスクトップクライアントの導入

お仕事だとやっぱり Windows を使うので,リモートデスクトップクライアントは必須です.Linux で使えるクライアントのいくつかを試してみましたが,いちばん remmina が使いやすかった.

Remote desktop client with RDP, SSH, SPICE, VNC, and X2Go protocol support.
Remmina — X2Go, RDP, SSH, SPICE, VNC, and X2Go protocol remote desktop client.

ただし,AppCenter,もしくは apt で入れられる ver. は少し使いにくかったので,以下の通りリポジトリを追加して最新バージョンを使うことにしました.

$ sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
$ sudo apt update
$ sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice

アイコンもシャープになってますね.

Visual Studio Code の導入

いままで Atom を使ってたんですが,wsl と組み合わせて使うことを考える(仕事のメイン環境は WSL + Windows 10 です)と Microsoft 謹製の Visual Studio Code の方が良いんじゃないかなと考え,これを期に乗り換えることにしました.

導入手順は,

elementary OS 5.0 Juno をインストールして最初にやったこと & 入れたツール16個 - Qiita
つい先日、2018年10月にelementary OS 5.0 Juno (Ubuntu 18.04 LTSベース) がリリースされたので評価用にサブマシンに入れて一通りセットアップした。んでその…

にあるのと全く同じです.

$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
$ sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
$ sudo apt-get update
$ sudo apt-get install code

なお,今のところ導入した拡張機能は

  • Japanese Language Pack for Visual Studio Code
  • line-endings

の2つだけです.いまのところですが,Atom よりも動作がかなり軽快な感じがします(拡張機能が増えるとどうなるかは分かりませんけど).あと,elementary OS 標準の code というエディタも軽くて悪くないと思います.

latex の導入

これは何も考えずに全部入れて,お仕事メインマシンの Ubuntu 18.04 on WSL for Windows 10 の /usr/local/share/texmf 以下をごっそりコピーしました.elementary OS も Ubuntu 18.04 LTS ベースですからね.

$ sudo apt install texlive-full

なお,デフォルトの PDF ビューアーは Gnome evince

Apps/Evince - GNOME Wiki!

みたいですが(AppCenter だと Document Viewer となっている),軽くてシンプルなのでとても使いやすいです.

Docker の導入

これももう避けて通れません.環境汚さずに色々試せますしね.

導入手順は,

elementary OS 5.0 Juno をインストールして最初にやったこと & 入れたツール16個 - Qiita
つい先日、2018年10月にelementary OS 5.0 Juno (Ubuntu 18.04 LTSベース) がリリースされたので評価用にサブマシンに入れて一通りセットアップした。んでその…

にあるのと全く同じです.

$ sudo apt-get install apt-transport-https ca-certificates software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
$ sudo apt-get install docker-ce
$ sudo systemctl start docker

# docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

なお,私の場合は一般ユーザー権限で docker コンテナを操作できるよう,docker グループにユーザーを以下の通り追加しました.

$ sudo gpasswd -a hyt docker

SageMath の導入

SageMath というのはオープンソースな色々な数学パッケージの集合体で,これ入れるだけでありとあらゆる数学アプリを導入できるというものなんですが,そのせいで,すごく依存関係が複雑で大変なパッケージです.こういうものは docker のコンテナとして導入するべきでしょう.と言うか,このためだけでも Docker を導入する価値あります.

実際,以下のように docker のコマンド一発で導入できます.

https://github.com/sagemath/docker-images/blob/master/README.md
$ docker pull sagemath/sagemath
# 統計言語 R の起動例
$ docker run -it sagemath/sagemath R

また,実際に使うときは Jupiter notebook と組み合わせて使うのが便利です.

$ docker run -p 8888:8888 sagemath/sagemath-jupyter

昔入れたときは大変だったんですが……嘘みたいに簡単ですねぇ……

SageMath 設定備忘録
SageMath のインストールと設定の備忘録です.統計パッケージの R を Web フロントエンドで使うのが目的.SageMath 自体の概要を知りたい場合は,こことかここが分かり易い.インストールから Web フロントエンドの起動までP...

小物をいろいろ導入

いつも使っているシェルは zsh + prezto なんですが,その前に入れとかないといけない小物を色々入れておきます.

$ sudo apt install tmux lv bmon iftop vim nkf jpegoptim peco zsh imagemagick
# pt の導入
$ cd /usr/local/src
$ sudo wget https://github.com/monochromegane/the_platinum_searcher/releases/download/v2.1.5/pt_linux_amd64.tar.gz
$ sudo tar -zxvf pt_linux_amd64.tar.gz
$ cd /usr/local/bin
$ sudo ln -s /usr/local/src/pt_linux_amd64/pt .
$ sudo ln -s /usr/bin/peco percol

ターミナルマルチプレクサ の tmax の設定は以下の通りです.

tmux の status line とマウス切り替えの備忘録
tmux の status line とマウスを使う設定の備忘録.gnu screeen と同様のターミナルを便利にするコマンドですが,詳しくは tmux 元ページをご覧ください.今回の設定は以下のページを参考にしています.出来るようにした...

また,vim の設定は,

$ cat ~/.vimrc
set termencoding=utf-8
set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,shift-jis,euc-jp

set statusline=[%n]\ %f\ %(\ %M%R%H)%)\=Pos=<%l\,%c%V>\ ASCII=%b\ HEX=%B
set viminfo='20,\"50
set autowrite nobackup nowritebackup
set autoindent smartindent
set showmatch warn
set showcmd ruler
set paste
set ttyfast
set wrap wrapscan
set wildmenu
set ts=8 sts=8 sw=8 smarttab noexpandtab
set backspace=2 scrolloff=2 cmdheight=1 laststatus=2
set updatecount=0
set ignorecase smartcase
set suffixes+=.orig,.rej,.class,.exe,.bin
set shellslash norestorescreen noerrorbells
set wildmode=longest,list
set formatoptions+=m
set nocompatible

の通りに,ターミナルで日本語を使うために ~/.inputrc を

$include /etc/inputrc

# Case-insensitive tab completion
set completion-ignore-case on

# Allow 8-bit input/output
set meta-flag on
set convert-meta off
# set input-meta on
# set output-meta on

の通りに設定しました.

prezto の導入

prezto は zsh の便利な設定を簡単に導入できるフ,レームワークです.正直 zsh の設定をマトモにできる気がしないのでとってもありがたい.

GitHub - sorin-ionescu/prezto: The configuration framework for Zsh
The configuration framework for Zsh. Contribute to sorin-ionescu/prezto development by creating an account on GitHub.

初めて導入するなら prezto の元ページにあるとおりやれば良いだけですが,私の場合は複数の端末で個人的な設定を同期させられるよう個人的な git リポジトリで設定全体を管理しています.これについては記事

Prezto の設定を複数PCで同期させる備忘録
シェル zsh の便利な設定をまとめて導入可能な prezto の設定を複数 PC で同期させるための細工についての備忘録です.なお,Prezto の導入や設定についてはとかをご覧ください.今回の目標は以下の通りです. Cygwin と M...

をご覧ください.また,ターミナルで快適に過ごすために interactive grep tool な percol の設定を ~/.zshrc に追記しています.この設定については percol のページ

GitHub - mooz/percol: adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
adds flavor of interactive filtering to the traditional pipe concept of UNIX shell - mooz/percol

をご覧ください.

オレオレルート証明書の導入

個人的に利用しているいろいろなサーバー(例えば gitlab とか)に逐一正式な証明書を導入すると費用がバカになりません.だからと言って,正式な証明書でない旨の警告画面をいつも見なきゃならないのもウザったくて嫌なので,システムにオレオレルート証明書(hyt-CA.crt)を以下の手順で導入します.

$ sudo mkdir /usr/local/share/ca-certificates/extra
$ sudo cp hyt-CA.crt /usr/local/share/ca-certificates/extra/
$ sudo update-ca-certificates

これで OS 標準のブラウザの Epiphany とか git とかから個人的なサーバーを利用しても警告が表示されなくなるのですが,Chrome はシステムのルート証明書を参照せず,独自のルート証明リストを参照するようで,警告が引き続き表示されます.これは,Chrome の「設定 → 詳細設定 → プライバシーとセキュリティ → 証明書の管理 → 認証局」でオレオレルート証明書をインポートすることで表示されなくなります.

なお,私のオレオレ証明書の発行とか運用については,記事

ローカルな認証局 を CentOS7 で作り,運用する備忘録
ローカルな認証局 を CentOS7 で作る備忘録です.はじめに早いもので,から2年経ち,使っていた証明書の期限が迫ってきました.もちろん証明書を更新しないといけないのですが,以前使っていた Windows 2012 の認証局は廃止してしま...

をご覧ください.

ssh server の導入

これは,

$ sudo apt install openssh-server

とするだけです.まぁ,クライアントなので立ち上げない方が良いような気もしますが……もはや習慣ですかね.

OneDrive の利用

残念ながら Microsoft 製の OneDrive クライアントは公開されていないので,OneDrive Free Client

GitHub - abraunegg/onedrive: OneDrive Client for Linux
OneDrive Client for Linux. Contribute to abraunegg/onedrive development by creating an account on GitHub.

を使いますが,これ,完全に CUI のクライアントで,かなり設定が面倒です.なお,ここでは OneDrive Business と OneDrive Personal の2つのアカウントのファイルをそれぞれホームディレクトリの

  • ~/OneDrive/Business
  • ~/OneDrive/Personal

に同期させる手順を示します.

まず,コマンド onedrive をビルドしなければなりませんが,これは基本的には,

https://github.com/abraunegg/onedrive/blob/master/docs/INSTALL.md

に載せられている手順に従います.一応私の手順は以下の通りです.面倒な部分は D 言語のコンパイラを準備しないといけない部分です.

$ sudo apt install libcurl4-openssl-dev libsqlite3-dev pkg-config libnotify-dev
$ curl -fsS https://dlang.org/install.sh | bash -s dmd
Downloading https://dlang.org/d-keyring.gpg
######################################################################## 100.0%
Downloading https://dlang.org/install.sh
######################################################################## 100.0%
The latest version of this script was installed as ~/dlang/install.sh.
It can be used it to install further D compilers.
Run `~/dlang/install.sh --help` for usage information.

Downloading and unpacking http://downloads.dlang.org/releases/2.x/2.089.0/dmd.2.089.0.linux.tar.xz
######################################################################## 100.0%
Using dub 1.18.0 shipped with dmd-2.089.0

Run `source ~/dlang/dmd-2.089.0/activate` in your shell to use dmd-2.089.0.
This will setup PATH, LIBRARY_PATH, LD_LIBRARY_PATH, DMD, DC, and PS1.
Run `deactivate` later on to restore your environment.
$ source ~/dlang/dmd-2.089.0/activate
(dmd-2.089.0)~ $ cd /usr/local/src
(dmd-2.089.0)~ $ sudo git clone https://github.com/abraunegg/onedrive.git
(dmd-2.089.0)~ $ sudo chown -R hyt.hyt onedrive
(dmd-2.089.0)~ $ ./configure --enable-notifications
(dmd-2.089.0)~ $ make clean
(dmd-2.089.0)~ $ make
(dmd-2.089.0)~ $ sudo make install,

なお,インストールが終わったら,ユーザーのホームディレクトリに出来た dlang フォルダは消しても構いません.

次に同期の設定を行います.

まずやらなければならないのは OneDrive のサイトで認証を済ませることです.これは,ターミナルで,

$ onedrive

として,表示される URL にアクセスして得られる URL を再びターミナルに表示されている

Enter the response uri:

以下に貼り付けることで行いますが,この部分については,

Ubuntu18.04でOneDriveを使うための手順
Ubuntu用にOneDriveの公式クライアントが用意されていないため、代りにOneDrive Free Clientとういうものを使いました。使って見たところ問題なく動作しています。OneDrive Free ClientをUbuntu...

の「初回起動時のアカウントログイン」の頁が分かりやすいと思います.ただし,複数の OneDrive アカウントを同期させたい今回のような場合は,上の記事の「OneDrive Free Clientの基本的な使い方」をいきなり実行するとあとで困ったことになることに注意してください.

さて,ここではまず OneDrive Personal のアカウントの認証を上の手順で終えたとします.

このとき,OneDrive の設定はホームディレクトリの ~/.config/onedrive 以下に保存されていますので,まず,これを

$ cd .config
$ mv onedrive onedrive-personal

のように移動します.また,次の内容のファイルを ~/.config/onedrive-personal/config として作成します.

# Configuration for OneDrive Linux Client
# This file contains the list of supported configuration fields
# with their default values.
# All values need to be enclosed in quotes
# When changing a config option below, remove the '#' from the start of the line
# For explanations of all config options below see docs/USAGE.md or the man page.
#
sync_dir = "~/OneDrive/Personal"
# skip_file = "~*|.~*|*.tmp"
# monitor_interval = "45"
# skip_dir = ""
# log_dir = "/var/log/onedrive/"
# drive_id = ""
# upload_only = "false"
# check_nomount = "false"
# check_nosync = "false"
# download_only = "false"
# disable_notifications = "false"
# disable_upload_validation = "false"
# enable_logging = "false"
# force_http_11 = "false"
# force_http_2 = "false"
# local_first = "false"
# no_remote_delete = "false"
# skip_symlinks = "false"
# debug_https = "false"
# skip_dotfiles = "false"
# dry_run = "false"
# min_notify_changes = "5"
# monitor_log_frequency = "5"
# monitor_fullscan_frequency = "10"
# sync_root_files = "false"
# user_agent = ""

ほとんどの項目がコメントアウトされていますが,これはデフォルト値がどうなっているのかを見やすくするためです.唯一,sync_dir = “~/OneDrive/Personal” がコメントアウトされていますが,これは,~/OneDrive/Personal にファイル同期することを示すためのものです.

必要あるなら,

https://github.com/abraunegg/onedrive/blob/master/docs/USAGE.md

を参考にしながら,デフォルト値を書き換えコメントアウトします.必要な設定が出来たら,

$ onedrive --synchronize --verbose --confdir="~/.config/onedrive-personal"

のようにすれば同期が始まりますが,このままだと,次回起動時に自動的に同期されませんので,サービスとして起動するようさらに設定しなければなりません(ここではユーザーがログインしたらサービスが開始されるよう設定します.システムのサービスとして常に同期するよう設定する方法については上の元サイトの解説を参照してください).これは次の手順で行います.

まず,/usr/lib/systemd/user/onedrive.service を ~/.config/systemd/user にコピーし,適当なファイル名に変更します.

$ cp /usr/lib/systemd/user/onedrive.service ~/.config/systemd/user/.
$ cd ~/.config/systemd/user/onedrive-personal.service

さらに,このファイル名を変更したファイルの内容を以下のように書き換えます.

[Unit]
Description=OneDrive Free Client
Documentation=https://github.com/abraunegg/onedrive
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/bin/onedrive --monitor --confdir=/home/hyt/.config/onedrive-personal
Restart=on-failure
RestartSec=3
RestartPreventExitStatus=3

[Install]
WantedBy=default.target

最後に,

$ systemctl --user enable onedrive-personal
$ systemctl --user start onedrive-personal

の様にして,サービスの登録と起動を行えば OneDrive Personal 同期の設定は完了ですし,Business アカウント,もしくはそれ以上のアカウントについても全く同様の手順を踏めば OK です.

KeeWeb を導入する

マルチプラットフォームの keepass 形式のパスワード管理ソフトです.元サイトは,

Free Password Manager Compatible with KeePass: KeeWeb

で,トップページから普通に deb 形式のインストーラーをダウンロードできますので,このダウンロードしたファイルをターミナルから,

$ sudo dpkg -i ./KeeWeb-1.12.3.linux.x64.deb

のようにするだけでインストール出来ます.

おわりに

ここまで設定すれば私の場合は本格的に仕事に活用できるようになりました.かなり長くなってしまいましたが,だからこそ,書き残してないと何やったかすぐ分かんなくなりますしね.

と言うことで,とりあえず,elementary OS 5.0 juno 設定の備忘録はここまでとなりますが,実際使ってみてどうなのかについては全く記していませんので,その辺りの感想については以下の記事をご覧ください.

elementary OS 5.0 juno 雑感
elementary OS 5.0 juno 雑感です.まずはいつもの通り結論から言うと,軽くてホントにシンプルです.ただし,さすがに Windows や MacOS の代わりにはなりません.でも,Web 系の開発をやる人(デザイン除く)と...

以上!

AppleEnvironment
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました