ubuntu(elementary OS)16.04.1へdockerをインストール
今更ですが、新しいPCでもdockerの環境が必要となってきたので構築しました。
dockerリファレンスを参考にやっていきます(手順は全くそのままです)。
今回はDockerCE(コミュニティ版)をインスコしていきますよ。
URL http://docs.docker.jp/engine/installation/linux/docker-ce/ubuntu.html
まずは必要なパッケージをインストール
httpsを通してaptが使えるようにします。
$ sudo apt install \ > apt-transport-https \ > ca-certificates \ > curl \ > software-properties-common
リファレンスの方ではapt-get
を使っていますが、諸事情によりapt
コマンドです。
「再起動が必要」とか言ってくるかもしれないですが、スルーです。
こういった記事があるので参照するといいかもね(しらんけど)。
DockerのGPG鍵の追加
curl
で取ってくる。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK
OKと返ってきた(よーわからんけど)。
fingerprintやらがあるらしいので確認してみる。
$ sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 フィンガー・プリント = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
がちゃんと返ってきました。よかったぁ。
dockerの安定版を設定する
まずは。自分のubuntuが32bitなのか64bitなのか確認。
僕の場合は64bitなのでamd64
にのっているコマンドを打ちます。
一応確認方法は以下
$ uname -a LinuxHP-Spectre-x360-Convertible-13-ac0XX 4.13.0-38-generic #43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
x86_64
とかamd64
と書かれていれば64bit、i686
とか書かれていれば32bit。
上のがわかりにくければ以下のコマンド。
$ getconf LONG_BIT 64
32bitであれば32と出てくるはずです(しらんけどな)。
amd64用のコマンド
$ sudo add-apt-repository \ > "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ > $(lsb_release -cs) \ > stable"
多分これでおk。
dockerCEのインスコ
apt
を更新する。
$ sudo apt update ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease 無視:3 http://dl.google.com/linux/chrome/deb stable InRelease ヒット:4 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease ヒット:5 http://dl.google.com/linux/chrome/deb stable Release ヒット:7 http://security.ubuntu.com/ubuntu xenial-security InRelease ヒット:8 http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial InRelease 無視:9 https://download.docker.com/linux/ubuntu loki InRelease 取得:10 http://packages.elementary.io/appcenter xenial InRelease [6,128 B] エラー:11 https://download.docker.com/linux/ubuntu loki Release 404 Not Found ヒット:12 http://ppa.launchpad.net/elementary-os/os-patches/ubuntu xenial InRelease 取得:13 http://packages.elementary.io/appcenter xenial/main amd64 DEP-11 Metadata [63.4 kB] ヒット:14 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease ヒット:15 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease パッケージリストを読み込んでいます... 完了 E: リポジトリ https://download.docker.com/linux/ubuntu loki Release には Release ファイルがありません。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
https://download.docker.com/linux/ubuntu 上記URLから404が返ってきてるんですけど。イミフ。
一旦再起動してみた
ダメでした\(^o^)/
なので、こちらを参考にしてみてubuntu最新のdocker-ceをインスコします。
ubuntu17.10にdockerをインストールする方法 : 試行錯誤な日々
まずはリポジトリの削除
add-apt-repository
に-r
オプションをつけるとリポジトリを削除できます。んで、zestyってやつが最新みたいなのでそれを指定してリポジトリを作ってみる。
$ sudo add-apt-repository -r "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ > $(lsb_release -cs) \ > stable" $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ > zesty \ > stable"
これでおk。
sudo apt updateだ
$ sudo apt update ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease 無視:3 http://dl.google.com/linux/chrome/deb stable InRelease ヒット:4 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease 取得:5 https://download.docker.com/linux/ubuntu zesty InRelease [49.8 kB] ヒット:6 http://dl.google.com/linux/chrome/deb stable Release ヒット:8 http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial InRelease 取得:9 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] 取得:10 http://packages.elementary.io/appcenter xenial InRelease [6,128 B] 取得:11 https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages [2,477 B] ヒット:12 http://ppa.launchpad.net/elementary-os/os-patches/ubuntu xenial InRelease 取得:13 http://packages.elementary.io/appcenter xenial/main amd64 DEP-11 Metadata [64.1 kB] ヒット:14 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease ヒット:15 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease 225 kB を 1秒 で取得しました (117 kB/s) パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 パッケージはすべて最新です。
いけたぜぇ。
以下手順通りやっていく。
$ sudo apt install docker-ce $ docker -v Docker version 17.12.0-ce, build c97c6d6
無事docker-ceが入りました\(^o^)/
$ sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/
hello-world
もできましたよっと。
引き続きdockerの勉強をやっていきますb
android studioでkotlinのバージョンをあげたらエラー出るので困った
android studioを立ち上げた時にポップアップでkotlinのupdateが出てきたので、なにも気にせずupdateしました。
すると。。。
outdated kotlin runtime
なんか出た。
とりあえずUpdate Runtime
を押してみる。
はあ。。。
自動でkotlinバージョンを変えることはできないので手動でやらないといけないっぽいです。
まずどこを見たか
Gradle Script
配下のbuild.gradle(Project:~~)
を確認してみます。
kotlinのバージョンは1.1.51
と。
実際どうなってんでしょうね。
Tools -> kotlin -> Configure Kotlin Plugin Updates
で見れました。
その後にChecks for updates now
をクリックしてちょっとすると出てきます。
...バージョン違いますね。
てなわけで修正
ext.kotlin_version
を今のバージョンに変えてあげます。
1.1.51
から1.2.30
へ修正。
すると上になんか出てきます。Sync Now
をクリック。
問題なければ成功します。以下がそれ。Grandle Console
に出てきます。
おわり
とりあえずいけましたー
すすめるごとにエラー出るので頑張る
【雑記】ubuntuでスーファミやってみた
タイトル通りです。
せっかくの祝日、久しぶりにスーパーマリオRPGがやりたくなったのでやってみました。
本当はSnes9xっていうエミュレーターを入れたかったんですが、やり方がよくわからない早くゲームをしたかったのでZsnesというエミュレーターをいれました。
環境
- ubuntu 16.04.1 (elementaryOS)
準備
至って簡単です。
以下のコマンドで必要なものが入ります。
$ sudo apt install zsnes
なんかいっぱい依存関係のパッケージが入りました。
ジョイパッドの設定
いつもお世話になっているのがこの子。
buffaloのスーファミコントローラーです。
iBUFFALO USBゲームパッド 8ボタン スーパーファミコン風 グレー BSGP801GY
専用のドライバを入れます。
$ sudo apt install joystick
あと、キー配置とか変更したいときにGUIで操作できるやつも入れちゃいます。
$ sudo apt install jstest-gtk
これでおk。
ちょっと起動してみる
Zsnesのインストールがうまくいっていればアイコンが表示されます。
開くとこんな感じ。
開いた瞬間若干ノイズが入りました。
やっぱり他の記事でも見たとおり音質はあまり良くないみたいですね〜。
なのでそれっぽいSDKをいれます。
$ sudo apt install libsdl1.2debian-oss
これで一度PC再起動します。
起動したら以下のコマンドをターミナルで打って起動するらしい。
$ zsnes -ad sdl
解像度&ジョイパッドの設定
※ここからはジョイパッドを接続した状態で進めていってください。Zsnesにジョイパッドが認識されていなければZsnesを再起動し、再度ジョイパッドを接続してから行ってください。
まず解像度の設定。「option」→「video」を選択します。
するとよくわからん画面が出てくる。
とりあえずSかRのやつを選んでたらよさ気。Fはフルスクリーンモードらしいのでちょっと不便かなと思ってWがついてるやつにしました。
これくらいかな。
次にジョイパッドの設定。「option」→「input」を選択。(その前に)
するとそれっぽい画面が出てきます。
手順通りいきます。upの枠を選択。するとupで使用するボタンを押せと出てくるはず。
言われたとおり、ジョイパッドの上十字キーを押下。
ジョイパッドの上十字キーが割り当てられました!(J03ってなってますね)
同じように全部割り当てます。
こんな感じですね。キーボードのTをターボに割り当ててます。面倒くさい戦闘のときとかに使います。
後で気づいたんですが、「set keys」を押したらupから順に割り当てていくことができますね。枠を選択するの面倒なので、こっちのほうが便利です。
saveの保存先指定
デフォルトがどこになっているかわからないですが、作っていきます。
おそらくですがホームディレクトリに.zsnes
フォルダができているはずです。その配下にsave
フォルダを作成します。
$ cd ~/.zsnes $ mkdir save $ cd save $ pwd /home/user/.zsnes/save ## userのところは表示されたものに適宜置き換えてくださいね!!
次にZsnesで「option」→「path」を選択。
savesとかかれているところに先ほどのパスを入力(なぜか全角になるけど気にしないことにする)。
これで多分準備おk!!!!!
ゲームを起動!
あらゆる手段で用意しておいたROMファイルを読み込みます(ROMはもちろん吸い出してね)。
僕の場合は/home/document/snesrom
配下にromファイルを入れるようにしました。好きなようにしていいと思います。
FFVが開きました!!!
マリオRPGも!!
終わりに
esc
ボタンを押せば止まってメニューが出てきます。
快適なゲームライフをどうぞ。
参考
elementary OS(ubuntu)へandroid studioを入れてkotlinした
ちょっとハマった話は前の記事に
最初はReact Nativeで開発をする予定だったのですが、同僚がiOSをswiftでやると言い出したので、仕方なく僕がkotlinをやることになりました。
なので、環境構築します(最近環境構築しかしてないぞ)。
java & android studioのインストール
忌々しいJavaからインストールしていきます(Java好きの方々すみません)
前の記事でadd-apt-repositoryしてるのですが、その手順も入れておきます。
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt update $ sudo apt install oracle-java8-installer
oracle-java8-installer
のインストールの際に赤い確認画面が出てきます。「了解」->「はい」を選択したらおkです。
javaが入ってるか確認
$ java -version java version "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
問題なさそう。
どんどん必要なパッケージを入れていきます。
$ sudo apt install oracle-java8-set-default
これは入ってたみたい。
$ sudo apt install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ lib32bz2-1.0 が見つかりません E: 'lib32bz2-1.0' に一致するパッケージは見つかりませんでした E: 正規表現 'lib32bz2-1.0' ではパッケージは見つかりませんでした
なんかエラーがでてるので、調べていろいろ試した結果、 lib32bz2-1.0
に関しては以下のコマンドで行けた。
$ sudo dpkg --add-architecture i386 $ sudo apt update $ sudo apt install libbz2-1.0:i386
lib32stdc++6
がまだ入ってなかったので直接指定で入れます。
$ sudo apt install lib32stdc++6
多分準備完了
あとはAndroid Studio自体をインストールします。
Android Studio のインストール | Android Studio
SSDだけどまあまあ時間かかる。。。
公式ページに書いてあったのでそれに習って、/usr/local
へ移動させます。
$ cd Downloads $ unzip android-studio-ide-171.4443003-linux.zip
なんかめちゃくちゃ解凍された。てなわけで、移動させてあげる。
$ sudo mv android-studio /usr/local/
これでおk。
起動してみまーす
Android Studioを起動!
$ sudo /usr/local/android-studio/bin/studio.sh (java:12819): Gtk-WARNING **: module_path にはテーマ・エンジンがありません: "pixmap", (java:12819): Gtk-WARNING **: module_path にはテーマ・エンジンがありません: "pixmap", (java:12819): Gtk-WARNING **: module_path にはテーマ・エンジンがありません: "pixmap", (java:12819): Gtk-WARNING **: module_path にはテーマ・エンジンがありません: "pixmap", 3 13, 2018 11:23:00 午前 java.util.prefs.FileSystemPreferences$1 run INFO: Created user preferences directory.
なんか警告でてるけどスルーします。
とりあえず問題なさげ。
android studioの設定とか
よーわからんので適当に。
Standardで。
もちろんdarkで。
あとはどんどん次に行くだけ。
これがまあまあ長いので待機。TLパトロールでもして待ってください。
おわったのでfinishを押す。と同時にwelcome画面が出てきます。
kotlin pluginをインストール
JetBrains社がプラグインを提供しているらしいのでそれを入れる。
右下のConfigure => Pluginsを選択。
「Install JetBrains plugin ...」を押下後、kotlinで検索。
なんか入ってるっぽいので、updateしておきます。
んでRestart Android Studioを押下。
これで一旦kotlinの環境構築が終了。
残りはまたこんど
projectを作ってJavaのコードをkotlinに変換するのは今度にします。
とりあえずここまでで終わりー。
おつでした。
elementaryOSにbluetoothドライバが入ってなかったのでいれようとした
この前記事にあげた新しいPC(HPのspectre)のLinuxにはbluetoothドライバが入っていたのですが、ThinkPadの方を見てみたら入ってなかったので入れる試みをしました\(^o^)/
PCちゃん
- ThinkPad x230
- elementary OS
パッケージのインストール
必要なパッケージを指定して入れたいですが、めんどくさい
なのでとりあえず必要なもんをaptします。
$ sudo apt install bluez パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 bluez はすでに最新バージョン (5.37-0ubuntu5.1) です。 bluez は手動でインストールしたと設定されました。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
は?
入ってる臭い。アイコン出てないんだけど!
とりあえずbluemanを入れてみる。
$ sudo apt install blueman パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが新たにインストールされます: blueman アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 1,673 kB のアーカイブを取得する必要があります。 この操作後に追加で 4,948 kB のディスク容量が消費されます。 取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 blueman amd64 2.0.4-1ubuntu2 [1,673 kB] 1,673 kB を 1秒 で取得しました (1,656 kB/s) 以前に未選択のパッケージ blueman を選択しています。 (データベースを読み込んでいます ... 現在 229939 個のファイルとディレクトリがインストールされています。) .../blueman_2.0.4-1ubuntu2_amd64.deb を展開する準備をしています ... blueman (2.0.4-1ubuntu2) を展開しています... dbus (1.10.6-1ubuntu3.3) のトリガを処理しています ... bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) のトリガを処理しています ... Rebuilding /usr/share/applications/bamf-2.index... gnome-menus (3.13.3-6ubuntu3.1) のトリガを処理しています ... desktop-file-utils (0.22-1ubuntu5.1+elementary2~ubuntu0.4.1) のトリガを処理しています ... mime-support (3.59ubuntu1) のトリガを処理しています ... hicolor-icon-theme (0.17-1~elementary0.4.1) のトリガを処理しています ... man-db (2.7.5-1) のトリガを処理しています ... libglib2.0-0:amd64 (2.48.2-0ubuntu1+elementary0.4.1) のトリガを処理しています ... blueman (2.0.4-1ubuntu2) を設定しています ... dbus (1.10.6-1ubuntu3.3) のトリガを処理しています ...
なるほど!君が入ってなかったのか
じゃあ、blueman-manager起動しよう。。。。
あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
いみふ。
デーモン起動しなきゃいけないのかなとおもったので起動してみる。一緒にPC起動時にデーモンが自動に起動するよう設定も入れる。
$ sudo systemctl start bluetooth.service $ sudo systemctl enable bluetooth.service Synchronizing state of bluetooth.service with SysV init with /lib/systemd/systemd-sysv-install... Executing /lib/systemd/systemd-sysv-install enable bluetooth $ sudo blueman-manager
......だめだ。同じエラーが出る。
bluezのパッケージを全部指定して入れる。
sudo apt-get install bluez bluez-alsa bluez-audio bluez-btsco bluez-compat bluez-cups bluez-dbg bluez-gstreamer bluez-hcidump bluez-pcmcia-support bluez-tools bluez-utils python-bluez bluewho indicator-bluetooth libbluetooth-dev libgnome-bluetooth11 libbluetooth3 python-gobject python-dbus
んーうまくインストールできない。
blueman-manager
がうまくいかないので、bluetoothctl
を使う。
$ bluetoothctl #
対話モードになったけど何も入力できん。詰んでるわこれw
もしやと思って、左上のアプリケーションからbluetoothを検索してみた。
ある!!!!
起動してみた!
ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
だめっすねこれ。
衝撃の事実
最後にbluetoothイヤホンを接続モードにして以下を試しました。
$ sudo hcitool scan or $ sudo bluetoothctl
上ではDevice is not available: No such device
。下は安定の対話モードだけど対話する気がない。
これはこれはと思ってThinkPad x230がそもそもbluetooth使えるのか調べてみたら...
ない!!!!!!!!!!!!!
今までの苦労は何だったんだ。今度bluetoothモジュール取り付けてやるからな。
OWARI
kotlinでしょっぱなから詰まった話
現在「kotlinスタートブック」の15章をやっています。
いきなりラムダ式やnull安全やらの内容をやると意味がわからなくなるので、一旦スルーで基本文法だけ抑えて一気にandroid開発の章を見ていましたが、しょっぱなから詰まりました。
error: unresolved reference: model
なんかしらんけどpackage practice.qiitaclient.model.*
でエラーをでてるっぽい。
直接ファイル指定(package practice.qiitaclient.model.User
)しても同じ結果、イミフ。
同じように詰まっている人たちがいた
すべて試したところ、最後のっぽい。
けどREPLを再起動しても、同じエラーが出る。。。
なんの解決にもなってないけど、一旦全部保存して、同期しなおしてからandroid studioを再起動。
いけたze
参考書が書かれたのは二年前なので同じ内容は出てないけど、一旦問題なくうごいた。
こんなエラーは出ないようになってほしいのぉ。。。
今後同じようなエラーが出てちゃんと調査したら関連記事作成しまっす。
後日談
他のファイルを作成して同じようなことをしてもエラーが発生する。
まじでイミフ。
調査が出来次第、また記事にあげます。。。。
elementaryOSでトラックパッドの検出範囲を変えた話
winで最初作業していた時は全く無かったのですが、Linuxでデュアルブートしメインで使い始めたらめちゃくちゃ気になり始めたので修正しました。
タイピングをするたびにマウスが動いて仕方がなかった。。。
おかげでとっても快適です!
PCスペ(前も書いたけど)
- HP spectre x360
まずは手のひら検出
ここを参考にしました。
結果的には全く効力がなかったですw
これは諦めました。
次に範囲の設定
まずはトラックパッドの範囲を調べます。
$ grep range /var/log/Xorg.0.log [ 6.128] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1302 - 5640 (res 37) [ 6.128] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1116 - 4740 (res 64) [ 6.128] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255 [ 6.128] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15
これでトラックパッドのx座標とy座標がわかります。
今回は手の平があたるのが問題だったので、x座標のみいじりました。
座標の見方はx座標の一番左が1302、一番右が5640って感じみたい。
ここを参考にさせていただきました。
設定を /etc/X11/xorg.conf.d/50-synaptics.conf
に記述すればいいらしい。ない場合は /usr/share/X11/xorg.conf.d/50-synaptics.conf
をコピーして作成せよ、と。
…僕のPCそもそも/usr/share/X11/xorg.conf.d/50-synaptics.conf
がないんですけどw
ってことで直接 /etc/X11/xorg.conf.d/50-synaptics.conf
だけ作成して、以前作成したThinkPadのやつを参考に作りました。
それが以下。
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "AreaLeftEdge" "2000" Option "AreaRightEdge" "5000" EndSection
x軸の1302~2000, 5000~5640の範囲を無効化するって意味です。
おわり
トラックパッドが動かなくなっただけで超快適になりました!
座標の範囲の見方が全然わからなくて設定で迷ってましたが、やっといけた。
では。