UbuntuにVagrantの環境を構築する

書いたような気がするが見つからなかったので書いてみる

sudo apt install virtualbox
sudo apt install virtualbox-ext-pack
sudo apt install vagrant

前はGUIじゃないとインストールできないような気がしたが、あれはWinかMacか忘れた。なんにせよコマンドで入ると楽。

GithubのForkしたリポジトリをFork元プロジェクトに追従する

Fork元プロジェクトのリポジトリをリモートに追加します。 git@github.com の部分はGithubアカウントを複数運用している場合 git@hoge.github.com とかになるですね。なお追加したものは git remote remove upstream で削除できます。

git remote add upstream git@github.com/upstream/project.git

追加しただけでは情報がないんで

git fetch upstream

で情報を得たら

git branch -a

とかで確認して、あとはこんな感じでマージできます。

git merge remotes/upstream/master

PRラッシュでやってやりましょう。

UbuntuでPDFの特定のページを削除する

pdftk を使います。

sudo apt install pdftk

削除はどちらかと言うと必要なページ数を指定して、そのページで新たなPDFを作成するイメージになります。

例えば3ページある場合に書きのように、1 2 と書くと3ページ目は除去されたPDFが作成されます。

pdftk befgore.pdf cat 1 2 output after.pdf

これを 1 2 のところを 2 1 と書くとページは逆順になります。

Ubuntu 19のxrandrで4KとFull HDのマルチディスプレイ環境のScaleをそれぞれに合わせる

まず現在接続されているディスプレイ一覧を見る。DP-1が4Kで、DP-2がFull HDです。DP-1で1080px下に表示させることで、DP-2をDP-1の上に配置しているイメージになっています。

$ xrandr | grep -w connected
eDP-1 connected (normal left inverted right x axis y axis)
DP-1 connected primary 3840x2160+0+1080 (normal left inverted right x axis y axis) 621mm x 341mm
DP-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm

今全体のWindowのスケールが1.5になっているので、3840に対して2560分の表示になっている。すると、DP-2には1280px分を表示しようとするので大きく見えてしまいます。

したがって、DP-2は2880であると認識させれば、Scaleがきいて1920px分かっちりの表示になるはずである。

ってことでこんな風に上下大きくしてあげます。

xrandr --output DP-2 --scale 1.5x1.5

DP-2が巨大化しましたね

$ xrandr | grep -w connected
eDP-1 connected (normal left inverted right x axis y axis)
DP-1 connected primary 3840x2160+0+1080 (normal left inverted right x axis y axis) 621mm x 341mm
DP-2 connected 2880x1620+910+0 (normal left inverted right x axis y axis) 476mm x 268mm

これでFull HD表示にはなるんですけど、ディスプレイが巨大化(1080px -> 1620px)することによって下のディスプレイの一部が表示されてしまいます。下のメインディスプレイDP-1を、もっと下に移動させてあげなければいけません。

xrandr --output DP-1 --pos 0x1620

これで優勝しました。

追記: マウスポインタが点滅したり消えたりする問題

あとから気づいたのですがマウスポインタが点滅します。これはxrandrを使用して特定のディスプレイのスケールを変更した際に発生し、スケールを変更しなければこの問題は起きません。

少しだけ症状がましになる方法として

xrandr --auto

を実行すると少し症状が緩和された気がします。

https://codeday.me/jp/qa/20190811/1428724.html

docker-composeでtty:trueを指定してコンテナを立ち上げっぱなしにする

コンテナを起動し続けるために適当なループするコマンドをシェルで実行したり、無意味にWebサーバーを立ち上げたりしていたが、docker-compose.yml にtty:trueと書くことで起動させっぱなしにできるようです。

version: '3.5'

services:
  app:
    image: ubuntu
    tty: true

docker psとすれば生き続けている事がわかり、docker-compose exec app bashで入れます。

Dockerコンテナ内でpipを使ってパッケージをインストールしようしたら名前解決できない場合の対策

変な環境で変なDockerコンテナを立ち上げてpipでパッケージをインストールしようとしたら

pip install hogehoge

下記の様に言われた

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by...

ちまちま調べたら名前解決がダメらしかった。仕方ないので自分でDNSを設定してあげます。

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

これで解決。同じような問題の人がちょこちょこいるみたいでした。変な環境のせいだと思ってた。

https://qiita.com/tatamiya/items/d40dab5bb7b23be3548f