jetson nanoでデスクトップ環境を起動させない方法

jetson nano をリモートでsshからでしか使わない場合に、デスクトップ環境用に起動しているXサーバなどのプロセスが無駄です。

## 最初に結論
余計なプロセスが動いているのは嫌なので、これらを止めます。
一時的に止めるには

```
$ sudo systemctl stop gdm3
```

起動時からこれが動かないようにするには

```
$ sudo systemctl set-default multi-user.target
```

元に戻すときには

```
$ sudo systemctl set-default graphical.target
```

## 以下はメモ

デスクトップ環境が動いているときのプロセス

```
$ pstree
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─avahi-daemon───avahi-daemon
        ├─boltd───2*[{boltd}]
        ├─colord───2*[{colord}]
        ├─containerd───12*[{containerd}]
        ├─cron
        ├─dbus-daemon
        ├─gdm3─┬─gdm-session-wor─┬─gdm-x-session─┬─Xorg───{Xorg}
        │      │                 │               ├─gnome-session-b─┬─gnome-shell─┬─ibus-daemon─┬─ibus-dconf───3*[+
        │      │                 │               │                 │             │             ├─ibus-engine-sim─+++
        │      │                 │               │                 │             │             └─2*[{ibus-daemon}+
        │      │                 │               │                 │             └─12*[{gnome-shell}]
        │      │                 │               │                 ├─gsd-a11y-settin───3*[{gsd-a11y-settin}]
        │      │                 │               │                 ├─gsd-clipboard───2*[{gsd-clipboard}]
        │      │                 │               │                 ├─gsd-color───3*[{gsd-color}]
        │      │                 │               │                 ├─gsd-datetime───2*[{gsd-datetime}]
        │      │                 │               │                 ├─gsd-housekeepin───2*[{gsd-housekeepin}]
        │      │                 │               │                 ├─gsd-keyboard───3*[{gsd-keyboard}]
        │      │                 │               │                 ├─gsd-media-keys───3*[{gsd-media-keys}]
        │      │                 │               │                 ├─gsd-mouse───2*[{gsd-mouse}]
        │      │                 │               │                 ├─gsd-power───3*[{gsd-power}]
        │      │                 │               │                 ├─gsd-print-notif───2*[{gsd-print-notif}]
        │      │                 │               │                 ├─gsd-rfkill───2*[{gsd-rfkill}]
        │      │                 │               │                 ├─gsd-screensaver───2*[{gsd-screensaver}]
        │      │                 │               │                 ├─gsd-sharing───3*[{gsd-sharing}]
        │      │                 │               │                 ├─gsd-smartcard───4*[{gsd-smartcard}]
        │      │                 │               │                 ├─gsd-sound───3*[{gsd-sound}]
        │      │                 │               │                 ├─gsd-wacom───2*[{gsd-wacom}]
        │      │                 │               │                 ├─gsd-xsettings───3*[{gsd-xsettings}]
        │      │                 │               │                 └─3*[{gnome-session-b}]
        │      │                 │               └─2*[{gdm-x-session}]
        │      │                 └─2*[{gdm-session-wor}]
        │      └─2*[{gdm3}]
        ├─haveged
        ├─ibus-x11───2*[{ibus-x11}]
        ├─2*[kerneloops]
        ├─networkd-dispat───{networkd-dispat}
        ├─nvargus-daemon───4*[{nvargus-daemon}]
        ├─nvgetty.sh───getty
        ├─nvmemwarning.sh───sleep
        ├─nvphsd───nvphsd───{nvphsd}
        ├─nvs-service───2*[{nvs-service}]
        ├─packagekitd───2*[{packagekitd}]
        ├─polkitd───2*[{polkitd}]
        ├─rc.local─┬─logger
        │          └─sh───ssh
        ├─rpcbind
        ├─rsyslogd───3*[{rsyslogd}]
        ├─rtkit-daemon───2*[{rtkit-daemon}]
        ├─sshd───sshd───sshd───bash───pstree
        ├─systemd─┬─(sd-pam)
        │         ├─at-spi-bus-laun─┬─dbus-daemon
        │         │                 └─3*[{at-spi-bus-laun}]
        │         ├─at-spi2-registr───2*[{at-spi2-registr}]
        │         ├─dbus-daemon
        │         ├─ibus-portal───2*[{ibus-portal}]
        │         └─pulseaudio───5*[{pulseaudio}]
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-resolve
        ├─systemd-timesyn───{systemd-timesyn}
        ├─systemd-udevd
        ├─udisksd───4*[{udisksd}]
        ├─upowerd───2*[{upowerd}]
        ├─whoopsie───2*[{whoopsie}]
        └─wpa_supplicant
```

`sudo systemctl set-default multi-user.target` を実行してからリブートしたときのプロセス

```
$ pstree
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─3*[agetty]
        ├─avahi-daemon───avahi-daemon
        ├─containerd───15*[{containerd}]
        ├─cron
        ├─dbus-daemon
        ├─haveged
        ├─2*[kerneloops]
        ├─networkd-dispat───{networkd-dispat}
        ├─nvargus-daemon───4*[{nvargus-daemon}]
        ├─nvgetty.sh───getty
        ├─nvmemwarning.sh───sleep
        ├─nvphsd───nvphsd───{nvphsd}
        ├─nvs-service───2*[{nvs-service}]
        ├─polkitd───2*[{polkitd}]
        ├─rc.local─┬─logger
        │          └─sh───ssh
        ├─rpcbind
        ├─rsyslogd───3*[{rsyslogd}]
        ├─sshd───sshd───sshd───bash───pstree
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-resolve
        ├─systemd-timesyn───{systemd-timesyn}
        ├─systemd-udevd
        ├─whoopsie───2*[{whoopsie}]
        └─wpa_supplicant
```


## 参考

[Raspbian jessie で起動時にGUIのログイン画面を出さないようにする方法](https://embedded.hatenadiary.org/entry/20151024/p1)