Score:2

Ubuntu 20.04.3 ปัญหาในการเรียกใช้ Firefox จากเทอร์มินัล

ธง ru

ฉันเป็นผู้ใช้ใหม่ของ Ubuntu 20.04.3 ฉันพบปัญหากับการวิ่ง ไฟร์ฟอกซ์ เว็บเบราว์เซอร์จากเทอร์มินัล

เมื่อฉันพิมพ์ 'firefox' ในเทอร์มินัล ฉันได้รับข้อความ:

ข้อควรระวัง: ค่าเริ่มต้นของตัวเลือก mesa_glthread ถูกแทนที่โดยสภาพแวดล้อม

ข้อควรระวัง: ค่าเริ่มต้นของตัวเลือก mesa_glthread ถูกแทนที่โดยสภาพแวดล้อม

ข้อควรระวัง: ค่าเริ่มต้นของตัวเลือก mesa_glthread ถูกแทนที่โดยสภาพแวดล้อม

ข้อควรระวัง: ค่าเริ่มต้นของตัวเลือก mesa_glthread ถูกแทนที่โดยสภาพแวดล้อม

ในที่สุด Firefox ก็เปิดตัว แต่ถ้าฉันปิดหน้าต่างเทอร์มินัล มันก็จะปิด Firefox ของฉันด้วย

us flag
โปรดแก้ไขคำถามเพื่อเพิ่มเอาต์พุตของเทอร์มินัลเป็นโค้ด แทนการโพสต์ภาพหน้าจอ
Score:3
ธง cn

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

ต่อไป เซ็ตซิด คำสั่งทำงานในลักษณะเดียวกัน แต่แทนที่จะจัดการกับสัญญาณ เซตซิด() ใช้เพื่อสร้างเซสชันใหม่ ซึ่งจะไม่ทำให้แอปพลิเคชันของคุณปลอดภัย แต่อย่างน้อยแอปก็จะไม่ได้รับสัญญาณจากเทอร์มินัลอีก ตอนนี้ ทั้งสองคำสั่งสามารถรวมกันได้ เช่น ถ้า SIGHUP ได้รับเกียรติ หรือ nohup จะซ้ำซ้อน

สุดท้ายกับ ปฏิเสธ คุณสามารถลบแอปพลิเคชันของคุณออกจากงานที่ใช้งานอยู่หรือทำเครื่องหมายแอปพลิเคชันโดยใช้ -ชม เพื่อไม่รับ SIGHUP ที่ส่งมาจากเชลล์ ตอนนี้เช่นเดียวกับ เซ็ตซิดสิ่งนี้จะไม่ทำให้แอปพลิเคชันของคุณมีภูมิคุ้มกัน แต่ตราบใดที่ SIGHUP ไม่ได้ถูกส่งไปยังกระบวนการโดยตรง คุณก็ไม่เป็นไร

firefox &>/dev/null & ปฏิเสธ

คุณยังสามารถปฏิเสธแอปพลิเคชันที่ทำงานอยู่

$ไฟร์ฟอกซ์
ctrl + z
^ซ
[1]+ หยุด Firefox
$ bg
$ ปฏิเสธ

ปฏิเสธ ยังใช้ jobspec หรือ pid เป็นอาร์กิวเมนต์

sudodus avatar
jp flag
+1 ขอบคุณ นี่เป็นคำตอบที่มีประโยชน์มาก :-)
Score:2
ธง us

หากคุณต้องการปิดเทอร์มินัลหลังจากเปิดใช้ซอฟต์แวร์กราฟิก คุณต้องใช้ --ถอด.

ตัวอย่าง:

firefox -- ถอด
N0rbert avatar
zw flag
ฉันไม่เห็น `--detach` บน [man-page ของ firefox](http://manpages.ubuntu.com/manpages/focal/en/man1/firefox.1.html) คุณหมายถึง `Ctrl`+`Z` ตามด้วย `bg` หรือไม่
sudodus avatar
jp flag
คุณทราบความแตกต่างระหว่างการใช้ `firefox --detach &` และ `nohup firefox &` หรือไม่ (ยกเว้นว่า nohup จะบันทึกเอาต์พุตเทอร์มินัลเป็น 'nohup.out')
sudodus avatar
jp flag
@ N0rbert คุณพูดถูก แต่ก็ใช้งานได้อยู่ดี
ChanganAuto avatar
us flag
@N0rbert นี่เป็นพารามิเตอร์เดียวกับที่ใช้โดยเบราว์เซอร์ TOR Bundle ที่ใช้ Firefox ESR ซึ่งเป็นสาเหตุที่ใช้งานได้และง่ายพอสำหรับ OP ที่จะใช้
ru flag
@ChanganAuto หลังจากใช้ firefox --detach เมื่อพยายามปิดเทอร์มินัล มันยังคงปิดเว็บเบราว์เซอร์
ChanganAuto avatar
us flag
@kowczarek พูดง่ายๆ ว่าเป็นไปไม่ได้ ไม่ว่าคุณจะพิมพ์ผิดหรือพยายามเรียกใช้ในฐานะรูท สิ่งที่คุณไม่ควรทำ
sudodus avatar
jp flag
@kowczarek `--detach` ใช้งานได้สำหรับฉัน แต่บางอย่างต้องแตกต่างระหว่างระบบของเรา อย่างไรก็ตาม โปรดลอง `nohup firefox &` และแจ้งให้เราทราบวิธีการทำงานเมื่อคุณปิดหน้าต่างเทอร์มินัล - อย่างไรก็ตาม คุณจะปิดเทอร์มินัลได้อย่างไร
ru flag
@sudodus ฉันลอง 'nohup firefox &' แล้ว มันเปิดใช้ firefox และฉันสามารถปิดเทอร์มินัลได้ แต่เมื่อฉันทำมันชอบฆ่าเซสชัน firefox ของฉัน และฉันได้รับข้อความนี้: "Gah แท็บของคุณพัง เราช่วยได้! เลือกกู้คืนแท็บนี้เพื่อโหลดหน้าซ้ำ" และสำหรับคำถามของคุณ 'ฉันจะปิดเทอร์มินัลได้อย่างไร' ฉันแค่กด X ที่มุมขวาบน เป็นวิธีที่ไม่ดีใช่ไหม :(
bac0n avatar
cn flag
โดยปกติแล้ว เมื่อคุณต้องการแยกกระบวนการจริงๆ ฉันคิดว่า `setsid' ทำงานได้ดีที่สุด
sudodus avatar
jp flag
@kowczarek นี่มันแปลก ฉันทดสอบในคอมพิวเตอร์หลักด้วย 18.04.x ​​LTS ซึ่งใช้งานได้ ตอนนี้ฉันทดสอบในระบบทดสอบด้วย Ubuntu มาตรฐานล่าสุด 20.04.3 และฉันก็ได้รับเช่นเดียวกับคุณ มัน *** ควร*** ตกลงที่จะปิดหน้าต่างเทอร์มินัลด้วยปุ่ม x :-( แต่เมื่อฉันปิดเทอร์มินัลโดยพิมพ์ 'exit' (จาก bash ในหน้าต่างเทอร์มินัล) firefox รอดโดยไม่มีการร้องเรียน :-)
sudodus avatar
jp flag
ดู [ลิงก์นี้](https://paste.ubuntu.com/p/G4wNMBRYMY/) ไปยัง Pastebin ของ Ubuntu พร้อมเอาต์พุตไปยังแท็บ Firefox และไปที่ `nohup.out` เมื่อออกจาก `gnome-terminal' ใน Ubuntu 20.04.3 ทล.
sudodus avatar
jp flag
คุณพูดถูก @bac0n `setsid firefox &` ใช้งานได้ Firefox อยู่รอดเมื่อออกจาก `gnome-terminal' ใน Ubuntu 20.04.3 LTS (เช่นเมื่อกดปุ่ม x) คุณสามารถอธิบายความแตกต่างได้หรือไม่? ฉันแนะนำให้คุณเขียนคำตอบ (และฉันสัญญาว่าจะโหวตให้)
bac0n avatar
cn flag
บางที `setsid -f firefox` ใช้งานได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา