Ahududu Pi'mi nasıl kapatabilirim?


247

Fişi çekeyim mi? Yoksa önce LXDE'den ve diğer çalışan işlemlerden çıkarsam en iyisi midir?


45
Tabii ki her zaman düzgünce
Pi'mi kapatıyorum

11
sudo halt -pyapacağım.
Thorbjørn Ravn Andersen

12
GPIO’ya bağlı sert bir düğme için OS’nin kapanmasını söyleyen bir "nasıl yapılır" görmeyi çok isterim.

20
Sadece Pi'lerinin altından güç çeken insanlar bunu yapmayı bırakmalı. İki tam Rasbian kurulumum, uygunsuz kapanmalardan kaynaklanan bozuk dosya sistemleri nedeniyle çekirdek paniklemeye başladım (örn. Gücü çekerek). Her iki durumda da kartı yeniden görüntülemeli ve yapılandırmak için koyduğum tüm işleri yeniden yapmalıydım.
tavis

3
@tavis - Memnun olduğunuz iyi bir konfigürasyon elde ettiğinizde, Win23 Disk Imager gibi bir şey ile gerçekten desteklemelisiniz. Hafif, ücretsiz, vb . Tüm Raspberry Pi işletim sisteminin tam bir kopyasını tutacaktır , bu nedenle, sorunun tamamen disk arızası ya da yanlış yapılandırma olduğu varsayımıyla, tamamen geri yüklenen bir Pi'ye sahip olmaktan yalnızca Best Buy'a hızlı bir yolculuk yapabilirsiniz. -).
GojiraDeMonstah

Yanıtlar:


251

Kesinlikle sadece fişi çekmek istemiyorsun. Bu, SD kart ve dosya sisteminde sorunlara neden olabilir.

Komut satırından

Komut satırını veya bir terminal penceresi kullanırken, temiz bir kapatma işlemi yapmak için aşağıdakileri girebilirsiniz:

sudo shutdown -h now

LXDE GUI'den

  1. Ekranın sağ alt köşesindeki menü çubuğundaki kapatma düğmesine (kırmızı güç düğmesi) tıklayın.
  2. Kapatmayı tıklayın (veya daha yeni sürümlerde gösterildiği gibi "oturumu kapatın", ardından yukarıda listelenen kapatma komutunu verin).

Sistem durdurulduğunu söylediğinde , gerekirse güç kablosunu çıkarabilirsiniz.


2
LXDE GUI bölümü ile ilgili: Bu hala geçerli mi? Raspbian ile 2015-03'te yayınlanan NOOBS 1.4'e denedim, Linux versiyonunun temelinde: Debian 7 (Wheezy) - Kesin versiyondan emin değilim, ancak Raspbian ultimo 2014 / primo 2015 ( Shellshock böceği için düzeltme dahil) . Sağ alt kısımdaki güç düğmesine basmak, yalnızca oturumu kapatmayı sağlar (ve iptal eder). Ancak, masaüstünde "Kapat" adlı bir simge var. NOOBS’ın Raspbian’i özelleştirip özelleştirmeyeceğini bilmiyorum.
Peter Mortensen

@PeterMortensen, Raspbian'ın daha yeni sürümünün seçeneklerden kaldırdığı anlaşılıyor, bu yüzden yukarıdaki adrese bir düzenleme yaptım - teşekkürler.
Steve Robillard

57

Mümkünse her zaman doğru şekilde kapatmak en iyisidir.

Cihazın dikkatlice kapatılmadan sürekli olarak çıkarılması, SD kart üzerinde istenmeyen etkilere neden olabilir (zaten bir mizaçlı nesne).

Başvuru için, terminalden kapatmak için kullanabilirsiniz:

sudo shutdown -h now

veya

sudo halt

Bu komutlar SIGTERMçalışan tüm işlemlere göndererek, verilerini kaydetmelerini ve çıkmalarını bildirir. Daha sonra SIGKILLsistemi durdurmak için kalan tüm işlemlere gönderir ve ardından tüm dosya sistemlerini kaldırır. Ekranda gösterilecek System Haltedve fişi çekebilirsiniz.


6
sudo poweroffayrıca sadece iyi çalışıyor.
Nilpo

3
İlgi dışında, arasındaki fark nedir halt, shutdownve poweroff?
ACarter

2
@ ACarter Fark yok, hepsi sistemi runlevel 6'ya
geçiriyor

3
Onun değil tam olarak aynı: aplawrence.com/Linux/halt_shutdown_reboot.html
Anake

1
@Jivings Her sistem / dağıtımda tam olarak aynı değildir , örneğin, bazı BSD varyantları çağrıldığında hiçbir işlemi öldürmeden CPU'yu durduracaktır halt. Ayrıca, haltçekirdeği / CPU'yu herhangi bir işlem yapmadan hemen durdurmayı belirleyebilirsiniz ; bu nedenle shutdown, yapmamanız için özel bir nedeniniz yoksa, kullanmaya devam ederdim .
Atılım

29

Bu shutdown.py çözümünü de kullandım.

Fiziksel bir anahtar bulmanız ve bunu 5 başlığının 6 ve 8 numaralı pinlerine lehimlemeniz gerekecektir . Madeni eski bir Arduino tahtasından aldım. Ayrıca, kasa kapandığında düğmeyi küçük bir tahta pim ile ittiğimden emin olmak için küçük bir delik açtım.

Bu nasıl görünüyor:

Anahtar düzenlemesinin ekran görüntüsü


Ahududu Pi acemi olarak, neden fiziksel bir anahtar bulmak ve bu pinlere lehimlemek gerekli? Düzgün kapatmak için donanıma mı ihtiyacınız var veya yazılımı kullanarak (örneğin kabuktan veya GUI'den) kapatırsanız ne olur?
HelloGoodbye

Mesele uzaktan erişim olmadan yerel olarak yapmaktı. İşletim sistemini zarifçe kapatacak bir düğme yok, bu yüzden OP'nin önerdiği gibi sadece "fişi çekmek" iyi bir seçenek değil.
Oleg Gryb

Seni takip ettiğimden emin değilim. Pi'ye lehimlenen fiziksel bir anahtar neden gerekli, hatta fişi çekmekten daha iyi?
HelloGoodbye

Hayır, kesinlikle değilsin. Ben "gerekli" demiyorum, çözümü uzaktan erişim olmadan zarafetle kapatmak için çözümü kullanabileceğinizi söylüyorum.
Oleg Gryb

Ah, anladım, bu yüzden sadece shotdown.py çözümünü kullanıyorsanız gereklidir. Dosya, yine de taşınmış veya kaldırılmış görünüyor; bağlantınız artık onu göstermiyor.
HelloGoodbye

14

Raspberry Pi Kapatma Anahtarı - Pi'nin Güvenle Kapatılması bölümünde açıklanan projeyi takip ettim , ancak 17 numaralı pimi dahili olarak çekilecek şekilde ayarladım. Ardından yukarıdaki proje gibi telleri bağlayın, ancak dirençleri dışarıda bırakın ve aşağıdaki Python komut dosyasını ekleyin /etc/rc.local:

python shutdown_button.py

Shutdown_utton.py dosyası

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)

1
Yukarıdakilerin bir tuhaflığı, durumu bir saniyede bir kez kontrol ettiğinden, bazen düğmenin bir saniye boyunca basılı tutulmasını gerektireceği ve diğer zamanlarda anında kapanmaya başlayacağıdır. Bu iyi, tabii ki, sadece bir tuhaflık.
Brian

8
Kullanım GPIO.wait_for_edge(17, GPIO.FALLING)yerine while döngüsünün, daha duyarlı olduğunu.
Mauro De Lucca

13

Diğer önemli hususlar, güç ve diğer konektörler sınırlı sayıda takma / çıkarma döngüsü için tasarlanacaktır. Genellikle bu şaşırtıcı derecede düşük bir sayıdır.

İstatistiksel olarak konektörler çok muhtemel bir ekipman arızası kaynağıdır.

Pi'nizin uzun ömürlülüğünü göz önünde bulundurarak, deneyimlediği bağlantı kesici uçların bağlantısını kesmek isteyebilirsiniz. Bunu yapmanın bir yolu, şebeke besleme soketinin açma / kapama anahtarını kullanmak olacaktır.


Peki öneri nedir? Ahududu Pi'yi güç kaynağının şebekeden ayırarak kapatın (böylece cihazdaki konektöre takma / çıkarma çevrimi sayısını azaltır)? Bağlayıcı arızası olasılığıyla ilgili cevabınızı çok ilginç buluyorum. Herhangi bir kanıtla bağlantı kurarak destekleyebilir misin? Teşekkürler.
Andrew Fogg

3
@AndrewFogg Elektrik Mühendisliğinde ekipman tasarımında iyi bilinen bir faktördür. Genel durumda, elektronik bileşenler, konektörlerle aynı derecede mekanik güç kullanmazlar. Üreticilerin beklediğiniz gibi yaşam sürelerini birleştirdiği için bağlayıcı uygun koşullarda elde edilir, bu nedenle çoğu zaman iyimserdir ve gerçek hayattaki insan kullanımını hesaba katmaz. USB 5000-10000. Yani evet, haklısın, duvar prizinden kapatmak en iyi seçimdir.
image_doctor

Lütfen önerinizi cevabınıza ekleyin. Siz ve ben sonuca vardık, ancak diğerleri sonuçları göremeyebilir.
Bengt

Ayrıca anahtarları ne olacak? Açık / kapalı çevreler için daha mı tasarlandılar? Güç kaynağının AC tarafına bir anahtar yerleştirmek iyi olur mu?
Bengt

2
Ulaşılabilirse (ve masaüstü / dizüstü bilgisayar gibi daha pahalı bir donanıma girmiyorsa), kablonun USB "A" ucunun takılıp çıkarılmasının genellikle tercih edildiğini anlıyorum. Kabloların değiştirilmesi ucuzdur ve "A" ucu genellikle tahtayı parmaklarınızla sıkıca tutmanız gerekmeden daha kolay takılır ve çıkarılır.
Chris Stratton

6

Raspberry Pi'ime uzaktan giriyorum ve işte böyle kapatıyorum:

  1. Komutu yürütün:
    sudo shutdown -h now
  2. Raspberry Pi'de LED'lerin yanıp sönmesinin durmasını bekleyin.
  3. İyi ölçüm için ek beş saniye bekleyin (isteğe bağlı).
  4. Raspberry Pi güç kaynağının prize takılı olduğu gücü kapatın.

Uzak bir ekran kullandığımdan, Raspberry Pi'nin son çıktısını mutlaka komut penceresinde göremiyorum, bu yüzden etkinlik ışıklarını kullanıyorum. LED'lerin yanıp sönmeyen durumu, başarılı bir kapatma işleminin mutlak bir göstergesi değil, ancak benim için yeterince çalıştı.


3

SD kart bozulma sorunlarından kaçınmak için işletim sistemini her zaman doğru şekilde kapatmalısınız. Bunu bir güç denetleyicisi donanım çözümü ve bir GPIO bağlantı noktası sinyaliyle tetiklenen bir komut dosyası kullanarak (örneğin, yukarıda belirtilen Pi Kaynağına ek olarak) otomatikleştirebilirsiniz:

Son bağlantıdaki RemotePi Board, Raspberry Pi'yi açmak / kapatmak için IR uzaktan kumandalarını kullanma özelliğine sahiptir.


2

Ahududu Pi donmuşsa o zaman ssh veya konsola giremezsiniz, o zaman bu yardımcı olur. Bunu bilmeden önce birkaç SD kartımı kırmıştım:

Her iki Alt + PrintScreen tuşunu basılı tutun ve bu tuşları basılı tutarken, aşağıdaki tuşlara sırasıyla birer birer, bir kaç saniye ara verdiklerinde basın.

Alt+ PrintScreen+R E I S U O

veya

Alt+ PrintScreen+ R E I S U B(yeniden başlatma)

Bunu hatırlamak için kullanışlı bir hatırlatıcı, Sistem Tamamen Kırık Olsa Bile Yeniden Başlatın.

Sistemi yeniden başlatmak yerine kapatmak için "B" yerine "O" ile değiştirin (O = kapalı, B = önyükleme).

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


1
birincil kaynak: en.wikipedia.org/wiki/Magic_SysRq_key (lütfen klavye düzeninize dikkat edin)
Fabian

1

Bu çok zor değil. Komut istemine gidin ve yazın sudo halt. Gerekirse şifrenizi girin. Ekranda hiçbir şey olmadığında, fişi çekin.

Ahududu Pi web sitesinden bilgi.


Sadece ekran karardıktan sonra yeşil ışığın da söndüğünden emin olmak için iki kez kontrol ettiğimi eklerdim.
SDsolar

1

Ayrıca, Pi Switch adında, açma kapama, güç yönetimi ve kilitlenmeleri zor olan bir GPIO kartı var. Fişiniz TV'nin arkasındaysa ve ulaşması zorsa da kullanışlıdır. Hala normal olarak kapatman gerekiyor, ama sonra Ahududu Pi'yi kapatıyor.

Power micro USB bağlantı noktasını normal kullanımda takma konusunda endişeleriniz varsa, dişi-erkek USB adaptörünü alabilir ve güç kaynağınızı buna takabilirsiniz.


1

Pi'yi kapatmak için birçok yol var! Fişi gerektiği gibi kapatmadan çekmeniz SD kartınızı bozabilir!

Kapatmak için kullanın sudo shutdown -nowveya sudo shutdown -timebirkaç dakika içinde kapanmayı söyleyin.

Yeniden başlatmak için kullanımını sudo rebootyeniden başlatmak için ve sudo reboot -time in minutestekrar güç ve ya da sadece kullanmak sudo rebootŞimdi yeniden başlatmak için sudo shutdownolmadan -timekapatma kullanımını iptal etmek bir dakika için varsayılan olaraksudo shutdown -c

Not: Ahududu pi düğmesine de basıp ardından gücü tıklayabilirsiniz. Ardından kapatma veya yeniden başlatma, hangi kapatma ve yeniden başlatma işlemlerinin her ikisi de anında gerçekleşir!


Güncelleme:

Bu yayındaki diğer cevapların bazılarında açıklandığı gibi:

sudo halt

Ayrıca çalışacak: ekranda bir şey yok kez sadece fişi çekin!


"fişi çekmeden ve geri takmadan açmanın yolu yok" -> Yanlış. RUN üstbilgisi, SoC’yi sert şekilde sıfırlamak için kullanılabilir ve önyüklemesine neden olur (işletim sisteminin kapatılıp kapatılmadığı ...): raspberrypi.stackexchange.com/q/29339/5538 Bazı modellerde bunlar etiketli P6, RUN değil.
goldilocks

@goldilocks Teşekkür ederim Benim yazıdan çıkardığımı bilmiyordum
User98764431

0

Ahududu Pi'niz için gerçekten bir güç anahtarına ihtiyacınız yok. Açma / kapama düğmelerine sahip güç kaynağı için bir USB hub kullanıyorum. Bu yüzden ne zaman Raspberry Pi'yi kapatmak istediğimde USB anahtarını kapatıyorum.


20
Pi'nin sadece gücüne sahip olmak iyi bir fikir değildir - YOU, ani güç düşüşlerinde veri kaybı veya bozulma riski oluşturabilir. Her zaman istendiği gibi kapanmak daha iyi. örneğin - FreeNAS (FreeBSD'ye dayanarak), root salt okunur olduğu için bunu yapmak güvenlidir; Ancak, çünkü bu bir NAS! Sabit sürücülerinize yazarken veriler kaybolabilir .. Günün sonu. Daima uygulanan kapatma yöntemlerini kullanın!
Piotr Kula

0

Fişi yalnızca yeşil led yanmıyorsa çekmelisiniz. Makine sd kartına yazıyorsa yeşil led yanıp söner.


0

Normal unix komutları Linux ile çalışır, şöyle:

init 0 kapanacaktır böylece fişi çekin.

init 6 yeniden başlatılacak.

Unix'in aksine, senkronizasyon yapmaya gerek yoktur; senkronizasyon; kapatmadan önce. Ancak fişin basitçe çekilmesi hatalara neden olabilir, bu nedenle gücü kesmeden önce kapatma veya init kullandığınızdan emin olun. Beklenmedik bir şekilde gücü keserseniz, ortaya çıkabilecek sorunları kontrol etmek ve / veya düzeltmek için fsck kullanın.

Tam eşitlemeyi yapmak için bir durum olabilir; senkronizasyon; senkronizasyon; 30 uyku; Durmadan temizlemeyen harici bir dosya sisteminiz varsa durdurun. Bu sorun olup olmadığını hemen önyüklemeden sonra dış dosya sistemlerinde fsck çalıştırarak bilirsiniz. Sorun buluyorsa, her şeyi yapmak isteyebilirsiniz. Fakat bunun Rpi3'ümde olduğunu hiç görmedim.


0

Ahududu Pi'nizi kapatmak ve kapatmak için her zaman bir komut kullanın. Ben diğer kullanıcıların bir sürü gibi sudo hal kullanıyorum. SD kartınızı yedeklemenizi öneririm yanlışlıkla benimki çıkardım ve görüntüyü bir şekilde bozdum. Yeni bir görüntü yazdırmak ve baştan başlamak daha kolaydır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.