投稿日:
GNOMEは重いのでXfceに変更する。
XfceはDebianに昔あった懐かしいUIで劇的に軽くなった。
環境
Ubuntu 24.04.3 LTS
やり方
XfceのインストールとGNOMEの削除
sudo apt install xubuntu-desktop
sudo apt remove ubuntu-gnome-desktop gnome-shell
sudo apt purge ubuntu-gnome-desktop gnome-shell
sudo apt autoremove
xrdpのXfce化
echo "startxfce4" > ~/.xsessionrc
トラブルシューティング
日本語入力が出来ない
右上のタスクバーにある「JA」をクリックして「mozc」に変更すると「全角/半角」キーが使えるようになり、日本語入力が可能になる。
タスクバーを上から下に移動する
タスクバーを右クリック→パネル→パネルの設定で固定解除するとハンドルが出るのでドラッグしてもっかい固定するといい。
デフォだとパネル2がドックとしてあるが、邪魔なので消す。
投稿日:
行の並び替えや行の内容を一意にするときに使える。
コマンドラインオプション
-r
- リバース
-u
- 一意
sort
:ソートする
入力
cat <<EOF | sort
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF
出力
01
02
03
1
2
3
a1
a2
a3
aaa
aaa
aaa
bbb
bbb
ccc
zzz
sort -r
:逆ソート
入力
cat <<EOF | sort -r
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF
出力
zzz
ccc
bbb
bbb
aaa
aaa
aaa
a3
a2
a1
3
2
1
03
02
01
sort -u
:一意
入力
cat <<EOF | sort -u
aaa
bbb
aaa
aaa
ccc
bbb
EOF
出力
aaa
bbb
ccc
投稿日:
Windowsに入っている古くて使いづらいPowerShellをアップグレードするところから始める。
- Powershell 7.xを入れる
- PowerShellを管理者権限で起動
Set-ExecutionPolicy RemoteSigned
を流す- hoge.ps1などの名前で適当にファイルを作り、
C:\Program Files\PowerShell\7\pwsh.exe
に関連付けする
投稿日:
Ubuntuでサービスを書く場合これが一番汎用性がある。
確認環境
Ubuntu 22.04.5 LTS
書き方
細かいことは書いていないので適当に解釈すること。
/etc/init.d
にパーミッション755でサービス名のファイルを作成sudo touch /etc/init.d/prometheus_node_exporter sudo chmod 755 /etc/init.d/prometheus_node_exporter
作成したファイルに以下のようなコードを書く
#! /usr/bin/env bash ### BEGIN INIT INFO # Provides: Prometheus Node exporter # Required-Start: $remote_fs $network $syslog # Required-Stop: $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Prometheus exporter for hardware and OS. # Description: Prometheus exporter for hardware and OS metrics exposed. ### END INIT INFO # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin DESC="Prometheus Node exporter - Prometheus exporter for hardware and OS metrics exposed" NAME=prometheus_node_exporter PIDFILE=/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME WORKINGDIR=/var/lib/prometheus DAEMON=/usr/local/bin/node_exporter DAEMON_ARGS="--path.rootfs=/host --web.listen-address=[::]:9100" USER=prometheus # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 do_start() { PRM_ENVS="USER=$USER HOME=$WORKINGDIR" PRM_EXEC="$DAEMON $DAEMON_ARGS" sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\ --background --chdir $WORKINGDIR --chuid $USER \\ --exec /bin/bash -- -c '/usr/bin/env $PRM_ENVS $PRM_EXEC'" } do_stop() { start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME --oknodo rm -f $PIDFILE } do_status() { if [ -f $PIDFILE ]; then if kill -0 $(cat "$PIDFILE"); then echo "$NAME is running, PID is $(cat $PIDFILE)" else echo "$NAME process is dead, but pidfile exists" fi else echo "$NAME is not running" fi } case "$1" in start) echo "Starting $DESC" "$NAME" do_start ;; stop) echo "Stopping $DESC" "$NAME" do_stop ;; status) do_status ;; restart) echo "Restarting $DESC" "$NAME" do_stop do_start ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2 exit 2 ;; esac exit 0
- サービスに登録
sudo update-rc.d prometheus_node_exporter defaults
- 後は条件分岐に書かれているコマンドに沿ってserviceを蹴れば動くようになる。止めたりするときはinit.dに定義したものを使う(init.dそのものは単にコマンド名で分岐処理しているだけ)
sudo service prometheus_node_exporter start
消し方
update-rc.d prometheus_node_exporter remove