-
概要 Ubuntuをデスクトップ機として使うようになって1年半くらい経った。 かなり快適でたまにツラミという感じになってきたので、そろそろ普段使っているツールを軽くまとめておこうと思う。 ブラウザ 普通にChromeが使える。ドラッグアンドドロップでGoogle Driveにファイルがアップロードできないのが謎なくらい。 あと、Chromiumをなんのけなしに使ってみようと思ったら、動作が死ぬほど重かったのでやめた。 プリンタ周り 下記でも書いたのだけど、プリンタドライバーは普通にLinux対応していることが殆どなので難しいことはあまり考えなくても使える。 Ubuntuでも印刷したい 表計算やドキュメントソフト 読み取り専用でLibreOffice。自分で何かを作るときはGoogleDocsかSpreadSheet、Slideを使うようにしている。 やはり、LibreOfficeだと崩れることがあるので、共同編集には使っていない(とは言え見るだけなら昔ほどでは無い気もするけど)。 エディタ VSCode。気が向いたらターミナルでVimを使う。 ターミナル デフォルトのターミナル。tmuxで画面分割しているので、特に追加機能が不要なので事足りている。 メディア再生 VLCメディアプレイヤー。言わずもがなという感じ。最近は音楽をPCで流すということがYoutube以外なくなってきたので、あまり使っていない。 メール Gmailなのでブラウザ。ThunderBirdがデフォルトで入っているけど使ってない。 ブラウザまとめ系?アプリ Franz。tweatdeckとかChatworkとかに使ってる。不満は特に無いが、Slackでブラウザのバージョン警告が出るようになった。 Slack Franzで警告が出るようになったので、Slackは個別に入れている。これもLinux版が普通に動く。 Notion NotionもUbuntuソフトウェアにあるので、それを使っている。ただ、ブラウザから使うのと大差ないのであんまりいらないかも。後述のAlbertで呼び出しやすいのでそのまま使っている気がする。 Docker そのまんま。特に何不自由なく使えている。デスクトップのCPUはAMDだけど、今の所困りごとは無い。 パスワード管理 enpass。これはMacでも使っているし、Linuxでも使えるので便利。自動入力の方法はわかっていないので、普段はChromeのパスワード管理を使いつつ、Chromeのパスワード管理だと難しいフォームだったり、備忘録をenpassにまとめている。 ランチャー Albert。macOSのAlfred的なやつ。絵文字を探して貼り付けるときと、アプリの起動のためだけに使っている。あと、Chromeのブックマークからリンクを呼び出せるので、その拡張も使っている。便利。 自分でPythonでスクリプトが書ける。 画像編集 glimpse image editor。GIMPが定番だと思うけど、どこかのサイトでオススメされていたので使っている。 主に簡易的なモザイク追加とかトリミング用途のみ。動作がGIMPより軽いので個人的にはこちらのほうが好み。 kindle kindleは残念ながらLinux版がないので、Wineを入れて使っている。フォントが対応していなくて豆腐になるので、別途設定したりしなくてはいけず、ちょっと苦労した割にはあんまり使っていない。 Wineなので快適〜!とまではいかずとも普通に読むことはできる。 Remote Desktop Remmina。接続先を保存もしておけるし、クリップボードで同期できる。普通に便利。 SFTP FileZilla。macOSで使っていたので。ほかは知らない。感覚的に使えるから便利。GUIが不要な単発ファイルのときはSFTPコマンドを使ってる。 画面分割 GNOMEがデフォルトでキーボードショートカットで画面分割ができるようになっているので特にソフトは不要。ただ、自分はワイドディスプレイを使っているので3分割したいな〜と思ってる。 iPad 最近のiPadは、特にiTunesとかなくてもmacOSはもちろんのこと、Linuxにつないでも特になにもしなくても認識してファイラーが起動する。 そのためPDFファイルとかをコピーすればiPadで読めるので大変に重宝してる。 フォント フォントはttfファイルとかをホームとかシステムとかのディレクトリに突っ込めば使える。GUIは基本一般ユーザーなので、ホーム配下で良いと思うのだけど、最近明らかにドット始まりのディレクトリの数がめちゃくちゃ多くなってきていて気になってる…。 構成管理 dotfilesとAnsible。だが、、最近ちゃんとメンテしていない。。(だからまとめておこうと思った次第…) テーマ gtk-tweaksというのを使うとカスタムテーマを適用することができるので、それを使っている。(昔はgtk-tweak-toolsだったようだが今はgtk-tweaksに統合されている) 適当にUbuntuのテーマを探してインストーラーを実行したら、あとは好きなアイコンを設置してあげれば、好みのテーマが適用できる。 困りごと ここまで書いてきて全く困ったことが無いかというとそんなことはなく、例えば最近下記のようなことはあった。 Ubuntu22.04にアップグレードしたらサウンドが死んだ バージョンアップでおかしくなったのは間違いないが、しかしバージョン個別の問題ではなく、昔から同じようなことはあったようなので環境要因が高いと思われる。 あとは、やはりどうしてもWinとMacしかバイナリが無いなんていうときは困る。 総じて どうしてもLinuxデスクトップじゃないと出来ないのは、上述の通り、WinやmacOSにしかバイナリが提供されていないデスクトップソフトウェアがあったとき。 Wineを使っても動かない場合があるので、そんなときだけmacOSを使ってる。 あとは、普段は特に不満なくという感じ。 なぜUbuntuを使うのか?と言われると、WinやmacOSと比べると考える対象がシンプルで、サーバー機と基本感覚は同じように扱える所かなと思っている。 例えば普段WindowsのGit bashだったりWSLのUbuntuに入れば別世界に入った感覚になるが、それらと比べるとUbuntuからDebianのコンテナにbashでアタッチしても違和感が無い。Created
7 May 2022 -
概要 Ubuntu22.04が降ってきて、ゴリラの20.10から順調にアップグレードしてきたので、今回も大丈夫だろうと雑にアップグレードしたら大分困ったことになった。 1つは、スクリーンショットのショートカットを設定して、macOS風にしていたがそれが消えていた。(スクリーンショット周りがmacOS?あたりと近い雰囲気になったかも) つぎに、これは後で気がついたことなのでアップグレードとは関係がまだわからないが、VSCodeで個別に設定したキーボードショートカットが動かなくなった。(ターミナルとエディター移動をキーボードでやれていて設定されているのだけど、なぜか動かない…!!地味にめんどうなので後でトラブルシュートが必要..) 極めつけには、サウンド周りの設定が飛んで「Dummy Output」となり音声がでなくなってしまった。。。 USBハブ経由でオーディオミキサーのAG03とつないでいたが、直接X300(Ubuntuデスクトップ機)にヘッドホンをつないでも無反応。。 Ubuntuのサウンド周りというか、デバイス周りがまったくわかっていないのでトラブルシュートがてら記録をしていくことにした。(結論はしょうもないです。) lshw twitterで元同僚氏に教えてもらったlshwコマンド。 manで見ると、list hardwareとある。 $ sudo lshw | grep -A 3 Audio 詳細: Audio device 製品: Renoir Radeon High Definition Audio Controller ベンダー: Advanced Micro Devices, Inc. [AMD/ATI] 物理ID: 0.1 バス情報: pci@0000:04:00.1 -- 製品: HD-Audio Generic HDMI/DP,pcm=3 物理ID: 0 論理名: input4 論理名: /dev/input/event4 -- 製品: HD-Audio Generic HDMI/DP,pcm=7 物理ID: 1 論理名: input5 論理名: /dev/input/event5 -- 製品: HD-Audio Generic HDMI/DP,pcm=8 物理ID: 2 論理名: input6 論理名: /dev/input/event6 -- 製品: HD-Audio Generic HDMI/DP,pcm=9 物理ID: 3 論理名: input7 論理名: /dev/input/event7 -- 詳細: Audio device 製品: Family 17h (Models 10h-1fh) HD Audio Controller ベンダー: Advanced Micro Devices, Inc.ubuntu22.04 Created
26 Apr 2022 -
概要 今までなにかを印刷する際は、サブ機と化したMacでやっていた。 しかし、自分のプライベートのメイン機はLinuxなので、これで印刷もしたい。 プリンタードライバーはLinuxにCUPSがあるからなのか、だいたいどこでもプリンタードライバーが用意されている。 我が家で使用しているEpsonのEP-807AWはもちろん、下記の多数のシリーズがドライバー対応している。汎用的なドライバーなのだろうとは言えメーカーさんすごい。 https://www.epson.jp/support/taiou/os/linux_selist.htm しかし何故か最初製品のドライバーを見ても、見つからず(探すページが違うだけだったのだが)、結局Ubuntuフォーラムを参照したのでその手順をメモ。 参照記事 https://forums.ubuntulinux.jp/viewtopic.php?pid=123468 手順 基本は上記記事の通り。 まずは、lsbをインストール。 $ sudo apt install lsb お恥ずかしながらlsbパッケージがなんなのかよく知らなかったので調べてみた。 https://packages.debian.org/ja/stretch/lsb-release Linuxの標準機能と、サードパーティとのつなぎ役といったところの様子。ちょっと調べただけだが、プリンター系のドライバーをインストールするには必要なようだ。 つぎに、ドライバーをダウンロード。これは上記からサイトリンクを知った。 ※しかし、実際は下記で検索できたようだった。。 http://download.ebz.epson.net/dsc/search/01/search/?LG2=JA&OSC=LX $ wget http://download.ebz.epson.net/dsc/op/stable/debian/dists/lsb3.2/main/binary-amd64/epson-inkjet-printer-escpr_1.4.1-1lsb3.2_amd64.deb インストールする。 $ sudo dpkg -i ./epson-inkjet-printer-escpr_1.4.1-1lsb3.2_amd64.deb パッケージを検索する。 $ sudo apt search escpr ソート中... 完了 全文検索... 完了 epson-inkjet-printer-escpr/now 1.4.1-1lsb3.2 amd64 [インストール済み、ローカル] Epson Inkjet Printer Driver (ESC/P-R) for Linux printer-driver-escpr/impish 1.7.17-1 amd64 printer driver for Epson Inkjet that use ESC/P-R インストールする。 $ sudo apt install printer-driver-escpr 以上でドライバー周りは完了。たったこれだけ。Created
1 Feb 2022 -
エラー なにげなく apt udpate してたら、いつの間にかでるようになって、見なかったことにしていたエラー。 E: リポジトリ http://ppa.launchpad.net/openshot.developers/ppa/ubuntu groovy Release には Release ファイルがありません。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。 どうやらサポートされなくなったパッケージが含まれている模様。 openshotが該当しているらしいです。 確かにgroovy gorillaはありませんでした。 この辺はLTSじゃないとこがポイントなのでしょうか。 とりあえずコメントアウトしておきます。 $ sudo diff -u /tmp/openshot_developers-ubuntu-ppa-groovy.list /etc/apt/sources.list.d/openshot_developers-ubuntu-ppa-groovy.list --- /tmp/openshot_developers-ubuntu-ppa-groovy.list 2020-12-19 00:32:54.512765217 +0900 +++ /etc/apt/sources.list.d/openshot_developers-ubuntu-ppa-groovy.list 2020-12-19 00:33:04.337094251 +0900 @@ -1,2 +1,2 @@ -deb http://ppa.launchpad.net/openshot.developers/ppa/ubuntu/ groovy main +# deb http://ppa.launchpad.net/openshot.developers/ppa/ubuntu/ groovy main # deb-src http://ppa.launchpad.net/openshot.developers/ppa/ubuntu/ groovy main 再度updateを実行 $ sudo apt update ~~ 8< ~~ 8,825 kB を 4秒 で取得しました (2,376 kB/s) パッケージリストを読み込んでいます.Created
18 Dec 2020 -
概要 かなり久しぶりのブログです。 タイトル通り、Ryzen7Pro4750Gでも耐えられるDeskminiの新シリーズのX300が発売されましたのでそれを使ってデスクトップPCを組み立てた話です。 https://www.asrock.com/nettop/AMD/DeskMini%20X300%20Series/index.jp.asp 実際にはAシリーズでも動くとかなんとかという話はあるのですが、4750Gの排熱に耐えられないらしくX300が開発されたとか。 ということで、長らくLinuxデスクトップPCに憧れていたのもあり、自宅作業が増えたのでノートPCからデスクトップPCへの回帰です。 構成 Deskmini X300 CPU Ryzen 7 Pro 4750G 8Core 16Thread Memory Crucial 16GB x2 DDR4-3200 (https://amzn.to/32jOGpC) M.2 SSD 1TB WD Blue (https://amzn.to/3n2Larr) CPU クーラー Noctua NH-L9a-AM4 (https://amzn.to/32p29wd) WiFiキット X300用 これらは全て秋葉原ツクモeXで見積もりしてもらい、そこで一括購入しました。 X300とRyzen Pro7 4750Gはセット価格だったかもしれません。 Ryzen Pro 7シリーズはマザーとセットになって安くなっているので、それを買ったほうがお得です。 配送料2000円込で総額104,859円でした。 ノートPCを購入するのと比べると圧倒的に安価になりました。 多分同じスペックのMacBook Proを購入するとなると、30万近くいったでしょうね。。(もちろんGPUはMacBookのほうが高性能である前提ですが) OSはUbuntuを選択したので、Windows10Proとかを購入するなら+20000円程度はみておく必要があります。 組み立て X300へCPUを取り付けるところから開始していきます。 いくつかパーツがありますが、SATA 2.5インチベイ用のネジとかがあるので、バックアップとかで使わなければ使わないパーツが結構あります。 しばらくお目見えすることはないであろうCPUはちゃんと写真を撮っておきました。 一番大変だったのはWiFiキットの取り付け。 WiFiのケーブルとキットを止めるところが1mmくらいですごいシビアだった。2箇所あるんだけどたぶんここに20分くらいかけてる。 完成 X300が非常にコンパクトでAPU搭載の4750Gはこのサイズで最強と言っても過言ではないかもしれません。 CPUもメモリ問題なく認識しています。 UEFIでマウスが使えるのが地味に便利です。 OSはUbuntuの20.10 Groovy Gorillaを導入しました。Created
7 Nov 2020 -
概要 Ansibleのplaybookに対してlintをかけたり、Serverspecとかを実行したくなったので、色々調べた結果、会社でCircleCIを使っていることがわかった。 そこでCircleCIで、インフラCIしていきたいなと思ったので、その辺のセットアップメモ。 なお、コンテナ単位で課金されるようで、1コンテナまで無料で利用できる。 個人でお遊びレベルのプロジェクトなら1コンテナで十分だと思う。 リポジトリ数には制限が無いようで、同時にテストを走らせたいような大きめのリポジトリになってきたら追加1コンテナあたり$50/monthで追加できるらしい。 まずは無料範囲で進めてみる。 CircleCIとの連携 まず、CircleCIと連携する必要があるので、CircleCIへログインする。その時にGithubと連携させればすぐにリポジトリが表示される。そのまま対象リポジトリの「set up project」を選択する。 今回やりたいのはansible-lintなので、Linux,pythonを選択して、「Start building」を実行しておく。ただし、ここでは特に実行されない。 Start buildingしないと下記のように、セットアップ待ち状態になる。 そうしたら、リポジトリの直下に下記を追加する。 config.ymlはcircleciの設定ファイル。 .ansible-lintはansible-lintの設定ファイル。 requirements.txtはインストールするpythonパッケージ。 ls -la .circleci total 24 drwxr-xr-x 5 inamuu staff 160 6 20 20:03 . drwxr-xr-x 7 inamuu staff 224 6 20 19:57 .. -rw-r--r-- 1 inamuu staff 317 6 20 14:28 .ansible-lint -rw-r--r-- 1 inamuu staff 253 6 20 20:03 config.yml -rw-r--r-- 1 inamuu staff 13 6 20 14:28 requirements.txt .
-
今日、会社で使っているDockerが、サーバー再起動後からサービスが起動しないことがありました。 その際に実施した対処方法です。 状況 $ sudo service docker start としても、サービスが起動せず、下記のようなエラーがログに出力されてました。 $ sudo cat /var/log/upstart/docker.log WARN[0000] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\ INFO[0000] [graphdriver] using prior storage driver "aufs" INFO[0000] API listen on [::]:2375 INFO[0000] API listen on /var/run/docker.sock INFO[0000] Firewalld running: false FATA[0000] Error starting daemon: Error initializing network controller: could not delete the default bridge network: network bridge has active endpoints ブリッジ接続用のネットワーク設定がおかしくなっているようなエラーで、サーバーをもう一度再起動しても解消せず。docker Created
16 Jan 2017 -
知らなかったのだけど、iptablesのstringモジュールを使うと文字列で色々処理することができるらしいです。 例えば”/hoge.php”というアクセスを遮断したい場合。 通常Webサーバーや.htaccessなどを使うことが多いと思いますが、iptablesでも遮断することができました。 こんな感じで設定できます。 [code lang=”shell”] $ sudo /sbin/iptables -I INPUT -m string –algo bm –string “/hoge.php” -j DROP [/code] 保存しておきたければ、下記を実行すると良いと思います。 [code lang=”shell”] $ sudo /sbin/service iptables save [/code] 設定後はこんな風になります。 [code lang=”shell”] % sudo iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination DROP all — 0.0.0.0/0 0.0.0.0/0 STRING match “/hoge.php” ALGO name bm TO 65535 [/code] 実際にこれで/hoge.phpへアクセスしたところ、タイムアウトして、接続できませんでした。 他にも使い所がありそうなので使っていきたいですね。Created
19 Oct 2016 -
仕事でとあるサーバーから別のサーバーにあるシェルスクリプトをsudo付きで実行したいことがあった。 そして、 $ ssh USER@hostname sudo shellscript sudo: sudo を実行するには tty がなければいけません。すみません 見事にこのようなエラーが出て、実行ができなかった。 シェルスクリプト&sudoの超あるある案件だ。 これをググると対応方法の中に、sudoersファイルの”Defaults requiretty”をコメントアウトすると良いと書かれている。 どのサイトにもこれはセキュリティ上よくないから!と書かれているが、それをやってる。 確かにvisudoで見てみると、 # # Disable "ssh hostname sudo <cmd>", because it will show the password in clear. # You have to run "ssh -t hostname sudo <cmd>". # と書かれている。 ここにはパスワードがクリアで表示されてしまうからダメだと書かれている。 ログインシェルを実行してttyを割当ないと、パスワードをecho offできないからダメらしい。 確かにこちらにもLinuxのシステムコールioctl()で、パスワードのechoをoffにしていることが書かれていた。 http://d.hatena.ne.jp/itotto/20120214/1329191401 なるほどという感じ。そのため、パスワードを表示させないように-tオプションで仮想的に端末を割り当てるように書かれている。 検証 失敗パターン ssh user01@vagrant.local sudo ls -l user01@vagrant.local's password: sudo: sudo を実行するには tty がなければいけません。すみません 成功パターンCreated
23 Aug 2016 -
Yumはなにも考えなくても依存関係を綺麗に調整してくれるから、便利だと思う。 しかしながら、どうしてもrpmパッケージをインストールしたいことは多々ある。 先日、rpmのインストールをしようとした所、下記依存関係のエラーが出た。 libssl.so.6()(64bit) is needed by HOGEHOGE ありがちなエラーである。 さて、みなさんはこんなエラーが出たらどうするだろうか。 私は、今までこのようなエラーが出たら、ググッて解決していた。 先人のみなさんがブログなどに必ず残していてくれるから、まずまず解決できることが殆どだった。 しかしながら、たまたま色々調べていたらこんな記事を見つけた。 [blogcard url=http://www.geek.sc/archives/620] なんと、依存するライブラリをYum検索できるらしいのだ。ねぇみんな知ってた? 知ってるって? あぁそうでしたか…。 試しに上記ライブラリを検索してみた。 [vagrant@test vagrant]$ yum whatprovides libcrypto.so.6 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp openssl098e-0.9.8e-20.el6.centos.1.i686 : A compatibility version of a general cryptography and TLS library Repo : base Matched from: Other : libcrypto.so.6 おおぅ!ちゃんと出てくるではないか。。 ブログにもある通り、検索対象は/etc/yum.repos.d/配下のリポジトリなので、野良rpmはヒットしない。 だけど、標準のリポジトリ内のパッケージであればこのように検索出来るようだ。Created
7 Jul 2016