GNU/Linux

Surface GoにUbuntuをインストール

まずはじめに、Surface Go に Ubuntu をインストールするモチベーションは何かというと、 Surface Go を買ったときにとりあえず (とりあえずかどうかは議論が分かれるところですが) 入っている OS は当然ながら Windows 10 なわけですが、ずっと GNU/Linux の何らかのディストリビューションを使ってきた 僕としては Windows がどうしても使いにくかったということです。Surface Go は大きさとしては なかなかコンパクトで持ち運びしやすいのでこのサイズで OS が Windows じゃなかったら (婉曲?) 最高だなと思ったってのもあります。 まあそんなわけで (まとまらなかった) インストールの手順を書いこうと思います。 インストーラの USB をつくる ここが一番大変だったかもしれません。 自分の場合、USB の Type A から Type C に変換するアダプタを持っているので、それを使ってインストール用の iso を焼いた USB をつないでいたんですが、どうにもこうにも起動しない。最終的には起動させられたんですが、 いろいろ試しすぎてどれが要因なのか分からないです。 何のおかげでうまくいったのかを調べようと思わなくもなかったんですが、それまでの試行錯誤で疲労困憊していて、 そのモチベーションがなかったので。 という訳で、とにかく試したことを書きます。

Ubuntu で freeglut を使う

環境は Ubuntu 18.04.3 LTS x86_64 です. 必要なパッケージを入れる $ sudo apt install freeglut3-dev 試す なんか適当に #include <stdlib.h> #include <GL/glut.h> #include <GL/gl.h> #include <GL/glu.h> static void display(void) { glClear(GL_COLOR_BUFFER_BIT); glFlush(); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitWindowSize(256,256); glutCreateWindow("Hello"); glClearColor(1, 0, 0, 1); glutDisplayFunc(display); glutMainLoop(); return 0; } 256x256 のウィンドウを赤く塗りつぶすだけです. で,コンパイル $ gcc main.c -lglut -lGLU -lGL -lm できました. 適当に Makefile にしておく ライブラリが多くて毎回指定するのは面倒なので, Makefile 必須っぽいです. LDFLAGS = -lglut -lGLU -GL -lm .PHONY: all all: main.o $(CC) main.o $(LDFLAGS) Man よこせ $ sudo apt install opengl-4-man-doc で入るみたいです.でも見た感じ, gl で始まる関数しかないっぽい. まあパッケージ名から想像がつくけど. glut とか glu とかの man の入手の仕方を教えてください. さいごに Windows でやる方がめんどくさいな,という印象ですね.まあ NuGet を使えば一発で入ることは入るんですが. でもあれはプロジェクトごとになるのであまり好きではない.

Raspberry Pi 2 で静的 IP を設定する

いつも忘れるのでメモ。 /etc/dhcpcd.conf に以下のように追記します。 interface <インタフェース名> static ip_address=192.0.2.2/24 static routers=192.0.2.1 static domain_name_servers=192.0.2.1 IP アドレスは例なのでこの通りではないと思います。 あと、挙動を見た感じだとサブネットマスクが /24 の場合は省略できるみたいです。 ルータに DNS 機能がない場合は 8.8.8.8 とか 4.4.4.4 とか 1.1.1.1 とかを設定すると動きます。 インタフェース名ですが、無線が wlan0 、有線が eth0 になっています。 ちなみに 192.0.2.0/24 は例示用として使っていいと RFC に書いてある。他にも 198.51.100.0/24 とか 203.0.113.0/24 とかもあるけどこれは割と最近予約されたものらしい。 かつては 128.66.0.0/16 が使われていたみたいだけどこれは今は予約されていないらしい。