# VNC-palvelimen asentaminen Ubuntu 22.04:ään

VNC-palvelimen asentaminen Ubuntu 22.04:ään antaa sinulle mahdollisuuden käyttää **Linux-työpöytääsi mistä tahansa**. Olitpa sitten etätyössä, työmatkalla tai haluatko vain työskennellä toisesta huoneesta käsin – VNC-palvelimen avulla pääset aina käsiksi työympäristöösi.

## Mitkä ovat VNC-palvelimen edut Ubuntu 22.04:ssä?

VNC-palvelimen käyttö Ubuntu 22.04:ssä tarjoaa monia mahdollisuuksia helpottaa huomattavasti päivittäistä työtä. VNC-palvelimen avulla voit käyttää Ubuntu-työpöytääsi **mistä tahansa maailmassa**. Tämä tarkoittaa, että sinun ei tarvitse olla työpöytäsi ääressä hallitaksesi sovelluksiasi ja tietojasi. Tämä joustavuus on erittäin kätevää etätyöntekijöille, liikematkustajille tai ihmisille, jotka haluavat työskennellä eri paikoista käsin. Lisäksi VNC-palvelimen asennus on suhteellisen helppoa, joten myös vähemmän teknisesti perehtyneet käyttäjät voivat nopeasti luoda toimivan etäyhteyden.

VNC-palvelin edistää myös tiimien sisäistä yhteistyötä. Sen avulla useat jäsenet **voivat käyttää samaa työpöytää samanaikaisesti**. Näin tiimit voivat tehdä tehokasta yhteistyötä sijainnistaan riippumatta, työstää projekteja yhdessä ja ratkaista ongelmia reaaliajassa. IT-järjestelmänvalvojat ja tukihenkilöstö voivat myös korjata virheitä etäyhteyden kautta ilman, että heidän tarvitsee olla paikan päällä. Tämä säästää aikaa sekä matkakustannuksia ja ylimääräisten tapaamisten järjestämisestä aiheutuvia kuluja. Turvallisuuden osalta monilla Ubuntu 22.04:llä toimivilla VNC-palvelimilla on vankat suojausominaisuudet. Salatut yhteydet ja erilaiset todennusmenetelmät suojaavat tietojasi ja varmistavat, että vain valtuutetut henkilöt pääsevät järjestelmääsi.

## Nämä ovat VNC-palvelimen vaatimukset Ubuntu 22.04:ssä

Ensinnäkin tarvitset toimivan Ubuntu 22.04 -asennuksen. Monet VNC-palvelimet ovat täysin yhteensopivia tämän käyttöjärjestelmän kanssa, ja kaikki tarvittavat paketit ja riippuvuudet löytyvät Ubuntun virallisista pakettivarastoista. Varmista, että järjestelmäsi on ajan tasalla, jotta vältät mahdolliset ongelmat asennuksen aikana. Yleisesti ottaen järjestelmän tulisi täyttää seuraavat vaatimukset:

- **Ubuntu 22.04:** Toimiva ja ajan tasalla oleva Ubuntu 22.04 -asennus.
- **Verkkoyhteys:** Vakaa Ethernet- tai WLAN-yhteys etäkäyttöä varten.
- **Järjestelmänvalvojan oikeudet:** VNC-palvelimen käyttäjä tarvitsee järjestelmänvalvojan oikeudet asennusta ja määrityksiä varten.
- **Ohjelmistopaketti:** VNC-palvelinohjelmiston, kuten TigerVNC, RealVNC tai x11vnc, asennus Ubuntun pakettivarastoista.
- **Työpöytäympäristö:** Vaadittu työpöytäympäristö (esim. GNOME, XFCE) tulee olla asennettuna.
- **Palomuurin konfigurointi:** Avaa portti 5900 tai muokkaa palomuurisääntöjä sallimaan VNC-liikenne.

## VNC-palvelimen asentaminen Ubuntu 22.04:ään

VNC-palvelimen ja työpöytäympäristön valinnassa on monia vaihtoehtoja. Tässä oppaassa asennamme XFCE-työpöytäympäristön uusimmat paketit sekä TigerVNC-paketin, joka on saatavilla **Ubuntun** virallisesta **pakettivarastosta**. Sekä XFCE että TigerVNC vaativat vain vähän resursseja ja toimivat nopeasti. Tämän ansiosta VNC-yhteys pysyy sujuvana ja vakaana myös hitaammilla internetyhteyksillä.

### Vaihe 1: Päivitä paketit

Ennen kuin aloitat asennuksen, varmista, että järjestelmäsi on ajan tasalla. Suorita seuraavat komennot asentaaksesi kaikki saatavilla olevat päivitykset:

```bash
sudo apt update
sudo apt upgrade
```

### Vaihe 2: Asenna työpöytäympäristö

VNC-palvelin vaatii työpöytäympäristön, sillä se tarjoaa työpöydän verkon kautta. Ubuntu 22.04:ssä on oletuksena GNOME, mutta voit asentaa myös muita työpöytäympäristöjä, kuten erityisen kevyen XFCE:n.

```bash
sudo apt install xfce4 xfce4-goodies
```

`xfce4-goodies` -paketti sisältää hyödyllisiä lisätyökaluja ja laajennuksia XFCE:lle.

### Vaihe 3: Luo uusi käyttäjä

Kun olet asentanut työpöytäympäristön, sinun on luotava uusi käyttäjä VNC-palvelimen käyttämistä varten. Turvallisuussyistä on suositeltavaa, ettet tee tätä **pääkäyttäjänä**. Tässä tapauksessa luomme uuden käyttäjän nimeltä ”john” ja annamme hänelle tarvittavat oikeudet VNC-palvelimen ajamiseen tällä käyttäjätilillä.

Ensin sinun on luotava käyttäjä ”john” ja määritettävä hänelle salasana. Voit tehdä tämän seuraavilla komennoilla:

```bash
sudo useradd -m -s /bin/bash john
sudo passwd john
```

Komento `sudo useradd -m -s /bin/bash john` luo uuden käyttäjän ”john” ja määrittää hänelle kotihakemiston sekä asettaa oletusshelliksi `/bin/bash`. Määritä sitten `sudo passwd john` avulla salasana tälle käyttäjälle. On erittäin tärkeää valita turvallinen salasana.

Kun käyttäjä on luotu, sinun on lisättävä hänet sudo-ryhmään, jotta hän voi suorittaa järjestelmänvalvojan komentoja. Tämä tehdään seuraavalla komennolla:

```bash
sudo usermod -aG sudo john
```

Tämä komento antaa käyttäjälle ”john” oikeuden suorittaa komentoja sudo-komennon tarjoamilla laajennetuilla oikeuksilla.

Voit tarkistaa, onko käyttäjällä ”john” tarvittavat käyttöoikeudet, kirjautumalla sisään käyttäjänä ”john” ja testaamalla pääkäyttäjän oikeudet. Suorita tätä varten seuraavat komennot:

```bash
su - john
sudo su
```

Näppäimellä `su - john` vaihdat käyttäjäksi ”john” ja näppäimellä `sudo su` saat pääkäyttäjän oikeudet, edellyttäen että salasana on syötetty oikein. Jos tunnistautuminen onnistuu, näet kehotteen, kuten `root@hostname`, joka vahvistaa, että sinulla on pääkäyttäjän oikeudet.

### Vaihe 4: Asenna VNC-palvelinohjelmisto

Tässä oppaassa käytämme **TigerVNC:tä**, koska se on laajalti käytetty ja hyvin tuettu VNC-palvelin. Asenna TigerVNC tällä komennolla:

```bash
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
```

Tämä asennus asentaa VNC-palvelinohjelmiston sekä joitakin toimintaan tarvittavia yleisiä paketteja.

### Vaihe 5: Luo VNC-palvelininstanssi

Ennen kuin voit käynnistää VNC-palvelimen, sinun on määritettävä salasana, jota tarvitaan VNC-palvelimeen kirjautumiseen. Kirjoita terminaaliin seuraava komento:

```bash
vncserver
```

Sinua pyydetään antamaan ja vahvistamaan salasana. Tämä salasana suojaa pääsyä VNC-palvelimeesi. Voit myös valita vaihtoehdon, jolla määrität katselusalasanan, jos haluat, että muut käyttäjät voivat vain katsella näyttöä ilman hallintaoikeuksia.

Kun palvelin käynnistetään ensimmäisen kerran, luodaan uusi näyttö, yleensä `:1`. Tulostuksessa näkyy tarkka numero, jota voit käyttää.

Tässä on esimerkki:

```bash
New 'X' desktop is your-machine-name:1
```

Kirjoita näytön numero muistiin (tässä tapauksessa `:1`), sillä tarvitset sitä muodostaessasi yhteyden VNC-asiakasohjelmaan.

### Vaihe 6: Määritä VNC-palvelininstanssi

Luo VNC-palvelimelle asetustiedosto, jotta XFCE latautuu VNC-palvelimen käynnistyessä. Tiedostossa `~/.vnc/xstartup` voi olla esimerkiksi seuraava sisältö:

```bash
#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
```

Tiedosto muuttuu suoritettavaksi, kun käytät tätä komentoa:

```bash
chmod +x ~/.vnc/xstartup
```

### Vaihe 7: Suorita VNC-palvelin järjestelmäpalveluna

Määrittämällä VNC-palvelimen Systemd-palveluksi voit käynnistää, pysäyttää ja käynnistää sen uudelleen kuten minkä tahansa muun palvelun. Voit myös käyttää Systemd-komentoja käynnistääksesi VNC-palvelimen automaattisesti järjestelmän käynnistyessä.

Luo ensin uusi tiedosto valitsemallasi tekstieditorilla:

```bash
nano /etc/systemd/system/vncserver@.service
```

Lisää tiedostoon seuraava sisältö:

```bash
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your-username>
PAMName=login
PIDFile=/home/<your-username>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
```

Korvaa `<your-username>` omalla käyttäjätunnuksellasi. Lataa uusi palvelutiedosto ja ota palvelu käyttöön:

```bash
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@:1
```

Komento `sudo systemctl enable vncserver@1.service` aktivoi VNC-palvelun näytölle `:1` siten, että se käynnistyy automaattisesti järjestelmän seuraavalla käynnistyksellä. Tähän käytetään systemd-palvelutiedostoa `vncserver@.service`, jossa `%i` korvataan `1`. Näin VNC-palvelu voidaan määrittää näytölle `:1` ja varmistaa, että se käynnistyy aina järjestelmän käynnistyessä. Komento luo tarvittavat pikakuvakkeet, jotta palvelu sisällytetään oikeaan käynnistysprosessiin.

### Vaihe 8: Määritä palomuurin asetukset

Jos olet ottanut palomuurin käyttöön Ubuntu-palvelimellasi, sinun on avattava VNC-portti etäyhteyksien sallimiseksi. Oletusarvoisesti VNC-palvelin käyttää porttia 5900, jota seuraa näytön numero. Näytölle `:1` portti on siis 5901.

Avaa portti `ufw`:

```bash
sudo ufw allow 5901/tcp
```

Tarkista palomuurisäännöt ja varmista, että portti on auki:

```bash
sudo ufw status
```

Tässä on esimerkki mahdollisesta tuloksesta:

```bash
Status: active
To                              Action        From
--                                ------            ----
22/tcp                    	ALLOW       Anywhere
80/tcp                  	ALLOW       Anywhere
443/tcp                  	ALLOW       Anywhere
5901/tcp                	ALLOW       Anywhere
22/tcp (v6)             	ALLOW       Anywhere (v6)
80/tcp (v6)             	ALLOW       Anywhere (v6)
443/tcp (v6)           		ALLOW       Anywhere (v6)
5901/tcp (v6)         		ALLOW       Anywhere (v6)
```

### Vaihe 9: Yhdistä VNC-palvelimeen

VNC-palvelimeen muodostamiseksi tarvitset paikalliselle tietokoneellesi VNC-asiakasohjelman. Suosittuja VNC-asiakasohjelmia ovat **RealVNC, TigerVNC Viewer ja TightVNC Viewer**. VNC-yhteyden turvallisuuden parantamiseksi kannattaa harkita salatun yhteyden käyttöä SSH:n kautta. Tämä suojaa VNC-asiakasohjelman ja palvelimen välistä tietoliikennettä.

Muodosta yhteys palvelimeesi SSH:n kautta ja ohjaa VNC-portti:

```bash
ssh -L 59000:localhost:5901 -C -N -l <your-username>@<server-ip>
```

- `ssh`: Komento, jolla muodostetaan suojattu yhteys etäpalvelimeen SSH-protokollan kautta; protokolla välittää tiedot salatussa muodossa.
- `-L 59000:localhost:5901`: Ottaa paikallisen portin edelleenlähetyksen käyttöön. Paikallisen tietokoneen portista 59000 tuleva liikenne välitetään SSH-tunnelin kautta etäpalvelimen porttiin 5901. `localhost` viittaa etäpalvelimeen, jolla VNC-palvelin on käynnissä.
- `C`: Aktivoi dataliikenteen pakkauksen. Tämä voi parantaa siirtonopeutta ja vähentää kaistanleveyden käyttöä, erityisesti hitailla yhteyksillä.
- `N`: Estää komentojen suorittamisen etäpalvelimella. Tämä tila on hyödyllinen, jos haluat vain määrittää tunnelin käynnistämättä komentotulkkia etäpalvelimella.
- `-l <your-username>`: Määrittää käyttäjätunnuksen, jolla kirjaudut etäpalvelimeen.
- `<server-ip>`: Sen etäpalvelimen IP-osoite tai isäntänimi, johon haluat muodostaa yhteyden SSH:n kautta.

Huomio Korvaa `<your-username>` käyttäjätunnuksellasi ja `<server-ip>` palvelimesi IP-osoitteella.

Yhdistä SSH-tunnelin kautta uudelleenohjattuun paikalliseen porttiin 5901 kirjoittamalla VNC-katseluohjelmaan `localhost:5901`.

Tämä menetelmä takaa, että VNC-yhteys muodostetaan salatun SSH-yhteyden kautta, minkä vuoksi se on turvallisempi.

### Vaihe 10: VNC-palvelimen hallinta

VNC-palvelimen pysäyttämiseen tai käynnistämiseen käytä seuraavia komentoja:

**Pysäytä VNC-palvelin:**

```bash
vncserver -kill :1
```

**Käynnistä VNC-palvelin uudelleen:**

```bash
vncserver :1
```

**VNC-palvelimen sulkeminen (systemd:n avulla):**

```bash
sudo systemctl stop vncserver@:1
```

**Tarkista tila:**

```bash
sudo systemctl status vncserver@1
```

Yksi mahdollinen tulos voisi olla:

```bash
vncserver@1.service - Start TigerVNC server at startup
      Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
      Active: active (running) since Mon 2024-07-29 16:57:26 UTC; 20s ago
     Process: 97088 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
     Process: 97092 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status=0/SUCCESS)
    Main PID: 97103 (Xtigervnc)
        Tasks: 77 (limit: 4665)
      Memory: 146.7M
          CPU: 4.459s
      CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
. . .
```

### Vaihe 11: Vianmääritys

Jos kohtaat ongelmia, tarkista seuraavat seikat:

- **Lokitiedostot:** VNC-palvelimen lokitiedostot sijaitsevat kansiossa `~/.vnc`. Tarkista näistä tiedostoista, onko niissä virheilmoituksia, jotka voivat viitata mahdollisiin ongelmiin.
- **Verkkoyhteys:** Varmista, että verkkorajoitukset tai palomuurit eivät estä pääsyä VNC-porttiin.
- **Määritystiedostot:** Varmista, ettei tiedostossa `~/.vnc/xstartup` ole virheitä työpöytäympäristön määrityksissä.

Nyt voit hallita tiedostojasi, ohjelmia ja järjestelmäasetuksiasi kätevästi VNC-palvelimen kautta. Jos käytät mieluummin Windowsia, suosittelemme lukemaan oppaamme[”VNC-palvelimen asentaminen Windowsiin](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/vnc-palvelin-windows/)”.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/vnc-palvelin-ubuntu-2204/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/vnc-palvelin-ubuntu-2204/) for AI/LLM consumption.