Comment éteindre mon Raspberry Pi?

246

Devrais-je simplement débrancher? Ou est-il préférable que je quitte d'abord LXDE et tout autre processus en cours d'exécution?

Andrew Fogg
la source
45
Bien sûr
j'éteins
11
sudo halt -ple fera.
Thorbjørn Ravn Andersen
12
J'adorerais voir un guide pratique pour un bouton dur connecté à GPIO afin d'indiquer au système d'exploitation de se fermer.
20
Les personnes qui ne font que tirer le pouvoir de leurs Pi devraient vraiment cesser de le faire. Deux installations Rasbian complètes ont déclenché la panique du noyau en raison de la corruption des systèmes de fichiers due à des arrêts incorrects (par exemple, la mise sous tension). J'ai dû ré-imager la carte dans les deux cas et refaire tout le travail que j'ai mis en place pour la configurer.
tavis
3
@tavis - Lorsque vous êtes satisfait d'une bonne configuration, vous devriez la sauvegarder avec quelque chose comme Win23 Disk Imager. Léger, gratuit, etc., conservera une copie exacte du système d’exploitation de Raspberry Pi dans son intégralité. Vous ne serez donc jamais qu’un petit tour chez Best Buy sans avoir un Pi entièrement restauré - en supposant qu’il s’agit d’un problème de disque ou d’une mauvaise configuration: -).
GojiraDeMonstah

Réponses:

250

Vous ne voulez certainement pas simplement tirer la fiche. Cela peut causer des problèmes avec la carte SD et le système de fichiers.

À partir de la ligne de commande

Lorsque vous utilisez la ligne de commande ou une fenêtre de terminal, vous pouvez entrer les éléments suivants pour procéder à un arrêt complet:

sudo shutdown -h now

À partir de l'interface graphique de LXDE

  1. Cliquez sur le bouton d'arrêt (bouton d'alimentation rouge) dans la barre de menus située dans le coin inférieur droit de l'écran.
  2. Cliquez sur shutdown (ou "logout" comme indiqué sur les versions les plus récentes, puis lancez la commande shutdown indiquée ci-dessus).

Une fois le système arrêté , vous pouvez débrancher le cordon d'alimentation si nécessaire.

Steve Robillard
la source
2
Concernant la partie de l'interface graphique de LXDE: Est-ce toujours d'actualité? J'ai essayé avec Raspbian correspondant à NOOBS 1.4 publié le 2015-03, version Linux sous-jacente: Debian 7 (Wheezy) - Je ne suis pas sûr de la version exacte, mais il s'agit de Raspbian ultimo 2014 / primo 2015 (le correctif pour le bogue Shellshock est inclus) . En appuyant sur le bouton d'alimentation en bas à droite, vous ne proposez que la déconnexion (et l'annulation). Cependant, il y a une icône sur le bureau nommée "Arrêter". Je ne sais pas si NOOBS personnalise / configure Raspbian.
Peter Mortensen
@PeterMortensen, il semble que la version la plus récente de Raspbian l'ait supprimée des options. J'ai donc effectué une modification ci-dessus pour y remédier - merci.
Steve Robillard
57

Il est préférable de toujours arrêter correctement si vous le pouvez.

Débrancher constamment l'appareil sans l'éteindre peut avoir des effets indésirables sur la carte SD (déjà un objet capricieux).

Pour référence, pour arrêter depuis le terminal, vous pouvez utiliser:

sudo shutdown -h now

ou

sudo halt

Ces commandes sont envoyées SIGTERMà tous les processus en cours d’exécution en leur demandant de sauvegarder leurs données et de quitter. Il envoie ensuite SIGKILLà tous les processus restants pour arrêter le système, suivi du démontage final de tous les systèmes de fichiers. L'écran va alors montrer System Haltedet vous pouvez tirer la fiche.

Jivings
la source
6
sudo powerofffonctionne aussi très bien.
Nilpo
3
Sur intérêt, quelle est la différence entre halt, shutdownet poweroff?
Départ du
2
@ACarter Il n'y a pas de différence, ils font tous passer le système au niveau d'exécution 6.
Jivings
3
Son pas exactement la même: aplawrence.com/Linux/halt_shutdown_reboot.html
Anake
1
@Jivings Ils ne sont pas exactement les mêmes sur tous les systèmes / distributions , par exemple, certaines variantes de BSD arrêtent simplement le processeur sans même tuer aucun processus lors de l'appel halt. De plus, vous pouvez spécifier haltd'arrêter immédiatement le noyau / la CPU sans interrompre aucun processus; pour cette raison, je continuerais à utiliser shutdownsauf si vous avez une raison particulière de ne pas le faire.
Percée
29

J'ai aussi utilisé cette solution shutdown.py .

Vous devez toujours trouver un commutateur physique et le souder aux broches 6 et 8 de l’en- tête 5 . J'ai pris le mien d'une vieille carte Arduino cassée. J'ai également percé un petit trou dans le boîtier afin de pouvoir appuyer sur le bouton avec une petite broche en bois lorsque le boîtier est fermé.

C'est à ça que ça ressemble:

Capture d'écran de l'interrupteur

Oleg Gryb
la source
En tant que débutant dans Raspberry Pi, pourquoi est-il nécessaire de trouver un commutateur physique et de le souder à ces broches? Avez-vous besoin de matériel pour l'éteindre correctement, ou que se passe-t-il si vous l'éteignez simplement à l'aide d'un logiciel (à partir du shell ou d'une interface graphique)?
HelloGoodbye le
Le but était de le faire localement sans accès distant. Il n’existe pas de bouton permettant d’arrêter le système d’exploitation de manière élégante, aussi, "tirer la fiche", comme l’a suggéré OP, n’est pas une bonne option.
Oleg Gryb
Je ne suis pas sûr de te suivre. Pourquoi un interrupteur physique soudé au Pi est-il nécessaire ou même meilleur que de tirer sur la fiche?
HelloGoodbye le
Non, vous n'êtes certainement pas. Je ne dis pas que "c'est nécessaire", je dis que vous pouvez utiliser la solution pour éteindre le périphérique en douceur, sans accès distant.
Oleg Gryb
Ah, je comprends, alors ce n’est nécessaire que si vous utilisez la solution shotdown.py. Le fichier semble avoir été déplacé ou supprimé, cependant; votre lien ne pointe plus dessus.
HelloGoodbye le
14

J'ai suivi le projet décrit dans Raspberry Pi Shutdown Switch - Éteindre le Pi en toute sécurité , mais configurer la broche 17 pour qu'elle soit tirée en interne. Ensuite, connectez les câbles comme dans le projet ci-dessus, mais laissez de côté les résistances et ajoutez le script Python suivant /etc/rc.local:

python shutdown_button.py

Fichier shutdown_button.py

import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
    print GPIO.input(17)
    if (GPIO.input(17) == False):
        os.system("sudo shutdown -h now")
        break
    time.sleep(1)
Jens Peter Nielsen
la source
1
Une bizarrerie de ce qui précède serait que, parce qu'il vérifie l'état une fois par seconde, il faudra parfois maintenir le bouton enfoncé pendant une seconde complète, et d'autres fois, il semblera que l'arrêt commence instantanément. C'est bien, bien sûr, juste une bizarrerie.
Brian
8
Utiliser à la GPIO.wait_for_edge(17, GPIO.FALLING)place de la boucle while est plus réactif.
Mauro De Lucca
13

Outre les considérations, les connecteurs d’alimentation et autres seront conçus pour un nombre limité de cycles d’insertion / déconnexion. C'est souvent un nombre étonnamment bas.

Statistiquement, les connecteurs sont une source très probable de défaillance de l'équipement.

En ce qui concerne la longévité globale de votre Pi, vous voudrez peut-être modérer le nombre d'insertions / déconnexions de connecteurs qu'il subit. L’une des façons de procéder consiste à utiliser l’interrupteur marche / arrêt de la prise secteur.

image_doctor
la source
Alors, quelle est la suggestion? Eteignez le Raspberry Pi en débranchant l’alimentation électrique du secteur (réduisant ainsi le nombre de cycles d’insertion / retrait sur le connecteur de l’appareil)? Je trouve votre réponse concernant la probabilité d’une défaillance du connecteur très intéressante. Pouvez-vous le sauvegarder avec des liens vers des preuves? Merci.
Andrew Fogg
3
@AndrewFogg C'est un facteur bien connu dans la conception d'équipements en génie électrique. Dans le cas général, les composants électroniques ne subissent pas le même degré d'efforts mécaniques que les connecteurs. Les durées de vie des fabricants, comme on peut s’y attendre, sont obtenues dans des conditions favorables. Elles sont donc souvent optimistes et ne tiennent pas compte de l’utilisation humaine dans la vie réelle. USB 5000-10000. Alors oui, vous avez raison, il est préférable d’éteindre la prise murale.
image_doctor
S'il vous plaît ajouter la suggestion à votre réponse. Vous et moi sommes arrivés à la conclusion, mais d'autres pourraient ne pas en voir les implications.
Bengt
Et qu'en est-il des interrupteurs? Sont-ils conçus pour plus de cercles? Serait-ce une bonne idée de placer un interrupteur sur le côté AC de l'alimentation?
Bengt
2
S'il est accessible (et n'entre pas dans un équipement encore plus coûteux, tel qu'un ordinateur de bureau ou un ordinateur portable), il est souvent préférable de brancher l'extrémité du câble USB "A". Les câbles sont peu coûteux à remplacer et l'extrémité "A" se branche et se débranche plus facilement sans vous obliger à saisir fermement la carte avec vos doigts.
Chris Stratton
6

Je me connecte à distance à mon Raspberry Pi et voici comment je l’arrête:

  1. Exécutez la commande:
    sudo shutdown -h now
  2. Attendez que les voyants cessent de clignoter sur le Raspberry Pi.
  3. Attendez cinq secondes supplémentaires pour prendre la bonne mesure (facultatif).
  4. Eteignez le powerstrip auquel le bloc d'alimentation Raspberry Pi est branché.

Étant donné que j'utilise un affichage à distance, je ne vois pas nécessairement la sortie finale du Raspberry Pi dans la fenêtre de commande, c'est pourquoi j'utilise les voyants d'activité. Le fait que les voyants ne clignotent pas n’est pas une indication absolue d’un arrêt complet, mais il a assez bien fonctionné pour moi.

PiHax
la source
3

Pour éviter les problèmes de corruption de la carte SD, vous devez toujours arrêter le système d'exploitation correctement. Vous pouvez automatiser cela en utilisant une solution matérielle de contrôleur de puissance et un script déclenché via un signal de port GPIO, par exemple (en plus de l'alimentation Pi mentionnée ci-dessus):

La carte RemotePi dans le dernier lien a la fonctionnalité supplémentaire d’utiliser des télécommandes IR pour allumer / éteindre le Raspberry Pi.

facteur
la source
2

Si votre Raspberry Pi est gelé, vous ne pouvez pas accéder à ssh ou à la console, cela vous aidera. Je me suis cassé mes quelques cartes SD avant de le savoir:

Maintenez les touches Alt + PrintScreen enfoncées tout en maintenant ces touches enfoncées, appuyez sur les touches suivantes, l'une après l'autre, avec une pause de quelques secondes.

Alt+ PrintScreen+R E I S U O

ou

Alt+ PrintScreen+ R E I S U B(redémarrage)

Un mnémonique pratique à retenir: redémarrer même si le système est totalement en panne.

Remplacez "B" par "O" pour arrêter le système au lieu de redémarrer (O = éteint, B = démarrage).

Source: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262

Almas Dusal
la source
1
source primaire: en.wikipedia.org/wiki/Magic_SysRq_key (attention à la disposition de votre clavier)
Fabian
1

Ce n'est pas très difficile. Allez dans l'invite de commande et tapez sudo halt. Entrez votre mot de passe si nécessaire. Une fois qu'il n'y a plus rien à l'écran, débranchez la fiche.

Informations sur le site Web de Raspberry Pi.

Algo
la source
J'ajouterai qu'après que l'écran soit noir, je revérifie pour m'assurer que le voyant vert est également éteint.
SDsolar
1

Il existe également une carte GPIO appelée Pi Supply qui dispose d’un commutateur ON, d’une gestion de l’alimentation et d’un blocage pour les verrouillages. Il est également utile si votre fiche est derrière le téléviseur et difficile à atteindre. Vous devez toujours arrêter normalement, mais le Raspberry Pi est alors mis hors tension.

Si vous souhaitez utiliser le port micro-alimentation USB en utilisation normale, vous pouvez vous procurer un adaptateur USB mâle-femelle et y brancher votre alimentation.

Graeme
la source
1

Il y a plusieurs façons de mettre le pi hors tension! Le simple fait de débrancher la prise sans arrêter correctement pourrait corrompre votre carte SD!

Pour arrêter utiliser sudo shutdown -nowou sudo shutdown -timedire arrêt en quelques minutes.

Pour redémarrer, utilisez sudo rebootpour redémarrer et sudo reboot -time in minutespour mettre sous tension et / ou utilisez simplement sudo rebootpour redémarrer maintenant sudo shutdownsans le temps -timepar défaut d'une minute pour annuler l'utilisation à l'arrêtsudo shutdown -c

Remarque: vous pouvez également appuyer sur le bouton Raspberry Pi, puis sur Power. Ensuite, arrêtez ou redémarrez, arrêt et redémarrage immédiatement!


Mise à jour:

Comme décrit dans certaines des autres réponses sur ce post:

sudo halt

Cela fonctionnera également: une fois qu'il n'y a plus rien à l'écran, il suffit de débrancher!

Utilisateur98764431
la source
"aucun moyen de mettre sous tension sans débrancher et débrancher la fiche" -> Incorrect. L'en-tête RUN peut être utilisé pour effectuer une réinitialisation matérielle du SoC, l'amenant à démarrer (que le système d'exploitation ait été arrêté ou non ...): raspberrypi.stackexchange.com/q/29339/5538 Sur certains modèles, ces derniers sont étiquetés P6, pas RUN.
goldilocks
@goldilocks Merci je ne savais pas que je l'avais retiré de mon message
User98764431
0

Vous n'avez pas vraiment besoin d'un interrupteur d'alimentation pour votre Raspberry Pi. J'utilise un concentrateur USB pour l'alimentation avec des interrupteurs marche / arrêt. Donc, chaque fois que je veux éteindre le Raspberry Pi, je désactive simplement le commutateur USB.

Jim
la source
20
Ce n’est pas une bonne idée de simplement alimenter le Pi: vous risqueriez de perdre des données ou d’être corrompu en cas de coupure de courant soudaine. Mieux vaut toujours fermer comme prévu. Par exemple, FreeNAS (basé sur FreeBSD) peut le faire en toute sécurité car la racine est en lecture seule; Mais, parce que c'est un NAS! Des données peuvent être perdues lors de l'écriture sur vos disques durs. Fin de journée donc. Toujours utiliser les méthodes d'arrêt implémentées!
Piotr Kula
0

Vous ne devriez tirer que si le voyant vert est éteint. Le voyant vert clignote si la machine écrit sur la carte SD.

Aaron
la source
0

Les commandes unix normales fonctionnent avec Linux, comme suit:

init 0 l'arrêtera donc il est sécuritaire de débrancher la prise.

init 6 va redémarrer.

Contrairement à Unix, il n'y a pas vraiment besoin de faire la synchronisation; sync; avant de fermer. Mais le simple fait de tirer sur la fiche peut provoquer des erreurs. Veillez donc à utiliser shutdown ou init 0 avant de débrancher l'alimentation. Si vous interrompez inopinément l'alimentation, utilisez fsck pour rechercher et / ou résoudre les problèmes pouvant survenir.

Il pourrait y avoir un cas pour faire la synchronisation complète; sync; sync; dormir 30; arrêtez-vous si vous avez un système de fichiers externe qui ne se démonte pas proprement. Vous saurez si cela pose un problème en exécutant fsck sur des systèmes de fichiers externes immédiatement après le démarrage. Si cela pose des problèmes, vous voudrez peut-être faire le tout. Mais je n'ai jamais vu cela se produire avec mon Rpi3.

SDsolar
la source
0

Utilisez toujours une commande pour éteindre et éteindre votre Raspberry Pi. J'utilise sudo stop comme beaucoup d'autres utilisateurs. Je recommande de sauvegarder votre carte SD. J'ai accidentellement débranché la mienne et corrompu l'image d'une manière ou d'une autre. Il est plus facile d’arrêter que de graver une nouvelle image et de recommencer

Pismurf
la source