Programma start niet na tightvncserver automatisch starten bij opstarten. Geen proben als handmatig gestart

Bij het op afstand benaderen van mijn Pi via tightvnc zal mijn programma niet worden uitgevoerd als de tightvncserver automatisch is gestart bij het opstarten.

Ik heb de Raspbian-installatie uitgevoerd vanaf de nieuwste noobs op een R Pi 2 met een nieuw geformatteerde schijf ..

Ik heb tightvncserver geïnstalleerd en op afstand toegang tot de Pi vanaf een pc.

Wanneer ik tightvncserver handmatig start, is alles in orde en kan ik mijn programma zonder problemen van de pc uitvoeren

Nochtans wanneer ik tightvncserver tijdens het opstarten uitvoer, krijg ik een foutmelding wanneer ik mijn programma vanaf de pc start (zie onderstaande foutmelding).

Om tightvncserver te laten draaien tijdens het booten, heb ik /etc/rc.local aangepast door de volgende regel toe te voegen.

su - pi -c '/usr/bin/tightvncserver :1`

Wat moet ik doen?

Ik heb het web doorzocht en verschillende manieren gevonden om automatisch een tightvncserver uit te voeren, maar dit zag het gemakkelijkst.

Foutmelding

Client is not authorized to connect to ServerClient is not authorized 
to connect to ServerTraceback (most recent call last):
  File "templight15.py", line 427, in 
    root = Tk()   
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", 
line 1813, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, 
interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display ":1.0"
[email protected]:~ $ 
2

2 antwoord

Wat je probeert zal niet werken.

If you are running Jessie this should be started with a systemd service. I copied from https://www.raspberrypi.org/forums/viewtopic.php?t=123457&p=830506

Als u nog steeds Wheezy gebruikt, zijn er instructies voor init.d (die mogelijk nog steeds werken).

Maak een nieuw bestand /etc/systemd/system/[email protected] met de volgende inhoud:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=pi
PAMName=login
PIDFile=/home/pi/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Maak uitvoerbaar

sudo chmod +x  /etc/systemd/system/[email protected]

Je kunt testen met

sudo systemctl start [email protected]

Inschakelen met

sudo systemctl daemon-reload && sudo systemctl enable [email protected]
1
toegevoegd
[Eenheid] Beschrijving = Remote Desktop Service (VNC) After = syslog.target network.target [Service] Type = forking Gebruiker = pi PAMName = aanmelden PIDFile =/home/pi/.vnc /% H:% i.pid ExecStartPre = -/usr/bin/vncserver -kill:% i>/dev/null 2> & 1 ExecStart =/usr/bin/vncserver -depth 24 -geometry 1280x800:% i ExecStop =/usr/bin/vncserver -kill:% i [Installeren] WantedBy = multi -user.target
toegevoegd de auteur Proto, de bron

Heel erg bedankt voor uw antwoord.

De R pi 2 start nu op met tightvncserver actief en ik heb er vanaf mijn pc toegang toe.

Wanneer ik het ls-commando invoeg, kan ik mijn programma's niet zien.

Dit is wat ik krijg

pi @ raspberrypi2:/$ ls bin dev home lost + gevonden mnt proc run srv tmp var boot etc lib media opt root sbin sys usr pi @ raspberrypi2:/$

Als ik 'cd home' en vervolgens 'ls' opneem krijg ik het volgende.

pi @ raspberrypi2:/home $ ls pi

Vervolgens voer ik "cd pi" in en krijg

pi @ raspberrypi2:/home $ cd pi pi @ raspberrypi2: ~ $ ls Desktop light.py Public templight15.log Tight Documenten Muziek python_games templight15.py Video's Downloads Afbeeldingen Templates Testen van I2C.txt w1probes1.py pi @ raspberrypi2: ~ $

Mijn programma's zijn hier.

Het uitvoeren van "templight15" produceert dezelfde foutmelding als hiervoor.

pi @ raspberrypi2: ~ $ sudo python templight15.py

Allerlei dingen importeren

Voltooid dingen importeren

Client is niet bevoegd om verbinding te maken met ServerClient is niet gemachtigd om verbinding te maken met ServerTraceback (meest recente oproep laatste):   Bestand "templight15.py", regel 427, in     root = Tk()
  Bestand "/usr/lib/python2.7/lib-tk/Tkinter.py", regel 1813, in init     self.tk = _tkinter.create (schermnaam, baseName, className, interactive, wantobjects, useTk, sync, use) _tkinter.TclError: kon geen verbinding maken met weergave ": 1.0" pi @ raspberrypi2: ~ $

Heb ik iets gemist?

Proost

Steve

0
toegevoegd
Dit lijkt niets te maken te hebben met VNC en is totaal incomprensibel (althans voor mij).
toegevoegd de auteur Erick, de bron
Hallo, ik gebruik tightvncserver.
toegevoegd de auteur Proto, de bron
Ik ben aan het leren hoe deze ruilsite te gebruiken en slaagde er op de een of andere manier in om per ongeluk wat code te plaatsen. Sorry.
toegevoegd de auteur Proto, de bron
Ik kan een python-programma uitvoeren op de R Pi. Ik kan hetzelfde programma via vnc vanaf mijn pc uitvoeren als ik handmatig op de R Pi een tightvncserver start. Ik kan echter niet hetzelfde programma via vnc uitvoeren als ik de R pi krijg om tightvncserver automatisch te starten bij het opstarten.
toegevoegd de auteur Proto, de bron
Ik hoop dat dit een beetje duidelijker is. Het probleem begon nadat de nieuwste noobs waren uitgevoerd. Alle suggesties zijn enorm ontvangen.
toegevoegd de auteur Proto, de bron