ฉันจะรีสตาร์ท Cinnamon จาก tty ได้อย่างไร


78

ฉันติดตั้ง Cinnamon บน Ubuntu 12.04 ของฉันแล้วมันใช้งานได้ดี แต่บางครั้งมันก็ค้างโดยไม่มีเหตุผล ฉันสามารถเลื่อนเมาส์ได้ แต่ไม่สามารถคลิกอะไรก็ได้

ดังนั้นฉันต้องการรีสตาร์ท Cinnamon จาก tty อย่างที่เคยทำกับ gnome shell ฉันจะทำอย่างไร

ฉันพยายามkillall cinnamonและไม่มีอะไรเกิดขึ้น

แล้วฉันพยายามexport DISPLAY=:0.0, cinnamon --replaceและยังคงไม่มีอะไร

ฉันเดาคำสั่งcinnamonไม่ถูกต้อง ฉันไม่ต้องการรีสตาร์ทเซิร์ฟเวอร์ X ทั้งหมดเนื่องจากหน้าต่างทั้งหมดของฉันจะถูกปิด ฉันแค่ต้องการรีสตาร์ทตัวจัดการหน้าต่างเพราะฉันเชื่อว่ามันเป็นสาเหตุของปัญหา

คำตอบ:


123

กดAlt+ F2พิมพ์ r และกด Enter


นี่คือคำตอบที่ถูกต้อง ทำงานให้ฉัน (Deb.7)
Stichoza

9
ในกรณีของฉัน Cinnamon นั้นแข็งและไม่ตอบสนองต่อ Alt + F2
levesque

41
นี่เป็นเรื่องผิดเนื่องจากคำถามคือ "[... ] จากtty ?"
ลูคัส

5
ฉันเห็นด้วยกับ @Lucas ที่นี่ แต่ฉันจะระงับการออกเสียงลงคะแนนเพียงเพราะมันเป็นทางลัดที่มีประโยชน์มากที่จะรู้แม้ว่าจะไม่ได้มาจาก tty ตามที่ OP อธิบาย มันอาจเป็นไปได้ว่าในขณะที่อบเชยทำงานไม่ถูกต้อง
mc0e

1
@kmarsh การอัปเดตควรแก้ปัญหานั้น ใช้งานได้กับ Mint 18 Cinnamon - และช่วยฉันจากการติดตั้งแอปเพล็ตพิเศษสำหรับฟังก์ชั่นที่ไม่ค่อยได้ใช้ เนื่องจากแอปเพล็ตบางตัวจำเป็นต้องมีการรีสตาร์ท Cinnamon หลังจากติดตั้งแล้วมันเป็นทางลัดที่มีประโยชน์มาก - แม้ว่าฉันจะเห็นด้วยอย่างเต็มที่ว่าไม่ได้รับคำตอบจาก OP ตีครั้งแรกในการค้นหาของ Google สำหรับ "รีสตาร์ทอบเชย" ดังนั้น 1 และปล่อยให้มันอยู่ :)
อิซซี่

53

cinnamon --replaceกระบวนการสามารถส่งสัญญาณหุบซึ่งจะก่อให้เกิดการรีสตาร์ทดังนั้นการรักษาหน้าต่างที่เปิดอยู่ของคุณและการใช้งาน

$ pkill -HUP -f "cinnamon --replace"

สิ่งนี้จะต้องระมัดระวังในการส่งสัญญาณ HUP ไปยังกระบวนการที่ตรงกับรูปแบบ "cinnamon --replace" สัญญาณ HUP (SIGHUP) บอกให้กระบวนการ "วางสาย"


1
นี่เป็นทางออกแรกที่ได้ผลสำหรับฉันโดยไม่มีผลข้างเคียงที่น่ารังเกียจ สำหรับผู้ที่ไม่ทราบ .. หากคุณไม่สามารถเริ่มต้นใช้งานเทอร์มินัลได้ให้กดAlt+F2เพื่อไปที่ TTY เข้าสู่ระบบด้วยบัญชีที่สามารถใช้งานผู้ดูแลระบบได้กลายเป็นรูทแล้วป้อนคำสั่งนั้น คุณอาจต้องAlt+F[n]กลับไปที่ X TTY ของคุณ
รวม

อะไรคือcinnamon --replaceกระบวนการทำ?
Seanny123

@ Seanny123 - รีสตาร์ท cinnamon แต่แทนที่อันปัจจุบันด้วยอันใหม่
slm

อากระบวนการติดขัดพยายามที่จะแทนที่อินสแตนซ์อบเชยที่มีอยู่ซึ่งเป็นสาเหตุของการแช่แข็งซึ่งเป็นเหตุผลที่ฉันต้องฆ่ามัน?
Seanny123

@ Seanny123 - ซินนามอนถูกวางสายแทนที่จะทำให้เกิดการรีสตาร์ท แต่ปล่อยบิต "child" ที่ตามมาทั้งหมดไว้คนเดียว
slm

51

สิ่งนี้เกิดขึ้นกับฉันมากมายเช่นกันและเธรดนี้เป็นหนึ่งในผลลัพธ์อันดับต้น ๆ เมื่อ googling สำหรับ "restart cinnamon" น่าเสียดายที่คำแนะนำใช้ไม่ได้กับฉัน (เพราะหมายเลขที่แสดงนั้นผิด!) สำหรับผู้เยี่ยมชมในอนาคตนี่คือสิ่งที่ฉันทำที่จะช่วยฉันเสมอ

  1. อบเชยแช่แข็ง
  2. สลับ tty ฉันมักจะไปที่ tty6, Ctrl+ Alt+F6
  3. หากคุณจำเป็นต้องเข้าสู่ระบบก่อนทำเช่นนั้น
  4. พิมพ์w(ใช่เพียงตัวอักษร) แล้วกด Enter คำสั่งนี้ทำสิ่งต่าง ๆ มากมาย แต่คุณจำเป็นต้องใช้เพื่อคำนวณจำนวนการแสดงผลที่คุณใช้ FROMจำนวนที่แสดงอยู่ในคอลัมน์ ของฉันคือ:0(ใช่รวมถึงลำไส้ใหญ่)
  5. สมมติว่าอบเชยนั้นตายไปแล้ว (ซึ่งคุณจะสังเกตได้จากหน้าต่างที่ไม่มีชื่อและคุณไม่สามารถย้ายหน้าต่างอื่นไปมาได้และบางทีคุณอาจไม่สามารถใช้แป้นพิมพ์ได้) คุณพิมพ์export DISPLAY=:0; cinnamon &และอย่าลืมเครื่องหมายโคลอน ฉันเพิ่มเครื่องหมายและ (&) เพื่อไม่ให้ tty นั้นไม่ว่าง

สิ่งนี้ใช้ได้สำหรับฉันเสมอและฉันจะไม่สูญเสียหน้าต่างที่เปิดอยู่ นอกจากนี้ฉันเก็บคำแนะนำเหล่านี้ไว้ในไฟล์ที่ชื่อว่า restartcinnamon ซึ่งเป็นเพียงไฟล์ข้อความ ฉันเก็บไฟล์ไว้ในโฟลเดอร์ Dropbox ของฉันดังนั้นไม่ว่าฉันจะอยู่บนเครื่องใดฉันสามารถพิมพ์ได้cat ~/Dropbox/restartcinnamonถ้าฉันต้องได้รับการเตือนว่าต้องทำอย่างไร


หลังจากทำสิ่งนี้หน้าจอ 3 จอ (3 จอภาพ) ของฉันจะกลายเป็นเหมือนหน้าจอเดียว คำแนะนำใด ๆ?
justingordon

การแก้ไขคือเปิดแผงหน้าจอแล้วคลิกตกลง มีวิธีใดบ้างไหม? การสนับสนุนหลายจอภาพทำให้เกิดความตื่นตัวบน Linux เสมอ
justingordon

1
โปรดทราบด้วย: TTY ไม่ได้ใช้สถานะ Num-lock ปัจจุบัน มีบางเวลาทำให้เกิดความสับสนในการหาสาเหตุรหัสผ่านไม่ถูกต้อง ...
ริชาร์ดเดอวิทย์

การทำงานข้างต้น (ขอบคุณ!) ฉันใช้ 2 จอภาพฉันปิดใช้งานแล็ปท็อปของฉันและใช้หน้าจอหลักด้วย "disper -S" หลังจากรีสตาร์ทอบเชยฉันมีหน้าจอสีดำ ฉันใช้ "disper -s" (โน้ตตัวพิมพ์เล็กที่นี่หมายถึงหน้าจอหลัก) เพื่อสลับกลับไปที่จอแสดงผลแล็ปท็อปและ ... จอภาพหลักเข้ามาแทน หากใครใช้ Disper อาจลองชุดใหญ่และเล็ก? ผมใช้ไซแนปส์ดังนั้นฉันเพิ่งพิมพ์ Ctrl-Shift-อวกาศ (ฮอตของฉัน) และ "-S disper"
เอียน Ozsvald

22

มลทินที่ง่ายที่สุดคือ:

killall -HUP cinnamon

1
ทำงานให้ฉันอย่างสมบูรณ์แบบ
Luca Steeb

สิ่งนี้ทำให้ฉันออกจากเซสชัน Cinnamon ที่มีอยู่แล้ว
musiphil

อบเชยบางครั้งก็ค้างในระบบของฉัน เมื่อฉันลองทำสิ่งนี้ (ในโหมดคอนโซล Ctrl + Alt + F1 ทำงานได้แม้กับ Cinnamon ที่แช่แข็ง) จากนั้นกลับสู่โหมดปกติ (Ctrl + Alt + F7) Cinnamon จะแสดงข้อความแสดงข้อผิดพลาดที่บอกว่ามันล้มเหลว ฉันสามารถคลิก "ใช่" เพื่อเริ่มต้นใหม่ (ถ้าฉันคลิก "ไม่" ฉันล้มเหลวและจำเป็นต้องเริ่มต้นใหม่) และทุกอย่างทำงานเหมือนปกติอีกครั้ง เฉพาะ windows ที่กลับด้านด้วยส่วนขยาย "กด Win + I tovert windows" เท่านั้นที่จะไม่กลับด้าน ทดสอบกับ Cinnamon 3.2.7 บน Debian 9.11
Fabian Röling

12

Cinnamon มีแป้นพิมพ์ลัดโดยตรงเพื่อรีสตาร์ทเดสก์ท็อปโดยไม่ต้องเริ่มต้นแอปพลิเคชันที่ทำงานอยู่:

ctrl+ alt+esc

ซึ่งอาจจะยังคงใช้งานได้ในบางกรณีเมื่อวิธีalt+ f2ไม่ทำงานเลย


4
ใช่นี่คือสิ่งที่ฉันต้องการ!
chaosink

11

คุณสามารถเริ่มต้น Cinnamon ใหม่โดย:

  1. กดAlt+ F2, ประเภทrและกดEnter,

  2. Ctrl+ Alt+ Backspace(รีสตาร์ท Xorg)

  3. ในคำสั่งTTYใช้:sudo service mdm restart


9

เมื่อคุณฆ่าอบเชย, ตรวจสอบว่ามันไม่ได้หยุดเขียนและกดkillall cinna Tabหากส่วนที่เหลือของคำปรากฏขึ้นให้ตายด้วยkillall -9 cinnamonแล้วเริ่มต้นใหม่โดยใช้สิ่งที่คุณพยายาม แต่ไม่มี--replace:

export DISPLAY=:0.0; cinnamon

2

ชุดค่าผสมต่อไปนี้ของความคิดเห็นด้านบนใช้ได้สำหรับฉัน:

  1. Ctrl-Alt F1 เพื่อสลับไปยังเทอร์มินัล 1. เข้าสู่ระบบหากจำเป็น
  2. $ w (ใช่ตัวอักษรเดียว "w" เป็นคำสั่ง) เพื่อดู # display ของคุณในคอลัมน์ FROM) สำหรับฉันมันเป็น:0 (รวมถึงลำไส้ใหญ่) นอกจากนี้คอลัมน์ TTY จะมีเทอร์มินัล # ของเซสชัน cinnammon ของคุณ (สำหรับฉันแล้วtty8)
  3. $ cinnammon --replace --clutter-display=:0 2> /dev/null &

    หมายเหตุเกี่ยวกับคำสั่งสุดท้ายนี้:

    • :0 เป็น # display ของฉัน
    • & ส่งคืนการควบคุมของเทอร์มินัล
    • --clutter-displayหากไม่ได้เข้ามาใช้จอแสดงผลตัวแปรซึ่งเป็นเหตุผลที่บางส่วนของข้อเสนอแนะก่อนได้ส่งออกครั้งแรก แต่คุณสามารถผ่านการโต้แย้งโดยตรงไปยังอบเชย ดูcinnamon --helpเพิ่มเติม
    • 2> /dev/null เปลี่ยนเส้นทาง stderr ไปที่อื่นดังนั้นเทอร์มินัลของฉันจึงไม่ได้รับข้อความยุ่งเหยิง
  4. Ctrl-Alt-F8 เพื่อกลับสู่สภาพแวดล้อมของหน้าต่าง cinnamon ของฉัน (F8 สำหรับฉันเนื่องจากเทอร์มินัลของฉันคือ tty8 ต่อwคำสั่งด้านบนสำหรับคุณอาจไม่ใช่ F8)

ผลลัพธ์สุทธิ: อบเชยนี้รีสตาร์ทในเทอร์มินัลของฉัน (tty8) โดยไม่สูญเสียหน้าต่าง



1

คุณสามารถลองสั่งการและการตรวจสอบว่ามีหมายเลขw -ous DISPLAYหากไม่มีตัวเลขให้ใช้startxและAlt+ F7เพื่อกลับไปที่ GUI


1

หลังจากที่คุณได้เปลี่ยนไป TTY killall -HUP cinnamonลองนี้ กด Ctrl + Alt + F7 อบเชยจะถามคุณว่าคุณต้องการเริ่มต้นอบเชยหรือไม่


1

ฉันมีปัญหานี้เป็นระยะ ๆ เนื่องจากไดรเวอร์ gfx สำหรับ HP Envy

ฉันต้องทำอย่างใดอย่างหนึ่งหรือทั้งสองอย่างต่อไปนี้ขึ้นอยู่กับวงเวียน;

  1. เป็นคำตอบที่ด้านบนและอื่น ๆ แนะนำ - อบเชยรีสตาร์ท - กดALT+ F2กดแล้วกดR (ทำเช่นนี้หากทาสก์บาร์ไม่ตอบสนองหรือหน้าต่างไม่มีโฟกัสจริง ๆ เมื่อคลิก ฯลฯ เช่นคุณอาจคลิกหรือพิมพ์ในหน้าต่างที่ดูเหมือนว่าจะมีโฟกัส แต่สิ่งหนึ่งที่อยู่ด้านหลังได้รับเหตุการณ์ - สิ่งนี้สามารถ แม้เขาซ่อนไว้อย่างสมบูรณ์หลังหน้าต่างที่คุณคิดว่าใช้งานอยู่)ENTER
  2. สลับไปที่คอนโซลเสมือนจากนั้นกลับไปที่ X - กดCTRL+ ALT+ F1เพื่อไปที่คอนโซลแล้วกดALT+ F8เพื่อกลับไปที่ X - (ทำสิ่งนี้ถ้าหน้าจอ WHOLE ไม่ตอบสนอง - อย่างน้อยคุณจะไม่เห็นอะไรเกิดขึ้น - สิ่งนี้จะแก้ไขสิ่งต่าง ๆ สำหรับฉันอย่างน้อย)

ปัญหานี้ยังคงมีอยู่สำหรับฉัน - Linux Mint 17.x - หวังว่าจะช่วยได้!


1

บางครั้งฉันมีปัญหาเมื่อล็อคหน้าจอ: หน้าจอล็อคไม่ปรากฏขึ้นและระบบของฉันดูเหมือนจะหยุดนิ่งโดยไม่มีอินพุตทำงานและฉันไม่สามารถลงชื่อเข้าใช้ได้อีกครั้ง

ทางออกของฉันคือการฆ่ากระบวนการอบเชยสกรีนเซฟเวอร์

% pkill cinnamon-screen

pkill ใช้ข้อมูลใน / proc / PID / stat และ Linux เก็บเฉพาะอักขระ 15 ตัวแรกของชื่อคำสั่งดังนั้นการใช้ "pkill cinnamon-screensaver" จะไม่ทำงาน

ตอนนี้ระบบของฉันถูกปลดล็อคแล้วอินพุตก็ใช้งานได้อีกและฉันก็ไม่ได้ทำ windows ของฉันหาย เพื่อให้ระบบล็อคได้อีกครั้งฉันรีสตาร์ทสกรีนเซฟเวอร์

% nohup cinnamon-screensaver > /dev/null 2>&1 &

ฉันเปลี่ยนเส้นทางไปที่ / dev / null เพื่อหลีกเลี่ยงการสร้างไฟล์ nohup.out


ขอบคุณตัน !! คำตอบของผู้เชี่ยวชาญทั้งหมดข้างต้นล้มเหลวอย่างน่าสังเวช วิธีนี้ใช้ได้กับระบบการกำหนดค่าสูงของฉันที่ติดตั้งกับ AMD Ryzen Threadripper CPU และ Ubuntu 18.04
รักความน่าจะเป็น

0

พยายามที่จะ "อ่อนรีสตาร์ท" sudo kill -USR1 <PID of your cinnamon process>อบเชยโดย @ คำตอบของแดเนียลนั้นถูกต้อง แต่จะฆ่าเซิร์ฟเวอร์ X ในขณะที่SIGUSR1จะไม่อย่างน้อยในเครื่องของฉัน ... มันกลับกลายเป็นว่าหน้าต่างทั้งหมดเก็บเนื้อหาและยังคงใช้งานได้หลังจากนั้น สงสัยว่านี่จะเป็นจริงสำหรับคนอื่น ๆ


0

ฉันลองCtrl+ Alt+ Backspace(เซิร์ฟเวอร์ Kill x)

ที่ดูเหมือนจะทำงานให้ฉัน ( อย่างไรก็ตามฉันได้เริ่มต้นเซสชัน cinnamon ที่สอง ( cinnamon &) การทำเช่นนั้นทำให้แสดงเฉพาะ wallpapaer เท่านั้นจากนั้นฉันกดแป้นพิมพ์ Kill x server ซึ่งปรากฏว่ารีสตาร์ทเชลล์ cinnamon ที่เหลือและฆ่าอีกครั้งฉันคิดว่าฉันได้อย่างไร กลับสู่ปกติมันเข้าสู่ระบบซูมไปที่เดสก์ท็อปดังนั้นฉันจึงพอใจในจุดนั้น (LM 17.1 Rebecca) )


0

ฉันได้ลองวิธีแก้ไขปัญหาก่อนหน้านี้ทั้งหมด แต่ไม่มีวิธีใดทำงานได้ วิธีแก้ปัญหาที่เหมาะกับฉันคือ killall cinnamon-session หวังว่านี่จะช่วยได้ P / s: รุ่น linuxmint ของฉันคืออบเชย 18.3

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.