Score:1

autostart ล่าช้า? ใช้เวลาประมาณ 90 ปี

ธง cn

หลังจากเข้าสู่ระบบ ฉันคาดว่าแอป autostart ของฉันจะเริ่มทำงานทันที แต่ดูเหมือนว่าจะเริ่มทำงานหลังจากผ่านไปประมาณ 90 ปีเท่านั้น

ฉันลองใช้ Google แต่ทั้งหมดที่ฉันเห็นคือผู้คนที่ต้องการชะลอการทำงานของแอปในการเริ่มต้น... ฉันกำลังมองหาสิ่งที่ตรงกันข้าม

ฉันใช้ guake (เทอร์มินัลแบบเลื่อนลง) และบางครั้งต้องการกดทันทีหลังจากเข้าสู่ระบบ แต่ฉันต้องรอให้ autostart เริ่มทำงาน

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

ลองกับ diff app (gedit) เพื่อดูว่ามีบางอย่างที่แอปกำลังทำอยู่หรือไม่ แต่มันทำงานเหมือนเดิมและดูที่ด้านบนคุณจะเห็นชัดเจนว่าแอปไม่ทำงาน ... และจากนั้น (90s ต่อมา) ก็เริ่มต้นขึ้น

~ î° cat ~/.config/autostart/guake.desktop seg 20 ธันวาคม 2021 11:35:40
[รายการเดสก์ท็อป]
ชื่อ = Guake Terminal
Comment=ใช้บรรทัดคำสั่งในเทอร์มินัลแบบ Quake
TryExec=กัวเกะ
เอ็กเซก=กัวเกะ
ไอคอน = กัวเกะ
Type=ใบสมัคร
หมวดหมู่=GNOME;GTK;ระบบ;ยูทิลิตี้;TerminalEmulator;
StartupNotify=จริง
X-Desktop-File-Install-Version=0.22
X-GNOME-Autostart-Delay=0
 ~ î° cat /etc/*elease วันที่ 20 ธันวาคม พ.ศ. 2564 11:38:38 น.
DISTRIB_ID=อูบุนตู
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=โฟกัส
DISTRIB_DESCRIPTION="อูบุนตู 20.04.3 LTS"
NAME="อูบุนตู"
VERSION="20.04.3 LTS (โฟกัสแอ่ง)"
ID=อูบุนตู
ID_LIKE=เดเบียน
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=โฟกัส
UBUNTU_CODENAME=โฟกัส

ใครบ้างมีข้อมูลเชิงลึกเกี่ยวกับสิ่งที่เกิดขึ้น?

** แก้ไข **

~ î° free -h qui 30 ธันวาคม 2564 19:07:54 น.
              รวมใช้บัฟ/แคชที่ใช้ร่วมกันฟรี
เม็ม: 31Gi 2,6Gi 25Gi 30Mi 2,9Gi 28Gi
สลับ: 2,0Gi 0B 2,0Gi
 ~ î° sysctl vm.swappiness ออกเมื่อ 30 ธันวาคม 2564 19:07:56 น.
vm.swappiness = 60

ด้านบนหลังจากเข้าสู่ระบบ แต่ก่อนที่จะเริ่มแอป autostart

บน - 19:12:55 อัพ 10 นาที 5 ผู้ใช้ โหลดเฉลี่ย: 0,11, 0,32, 0,31
งาน: ทั้งหมด 460, 1 วิ่ง, 458 นอน, 0 หยุด, 1 ซอมบี้
%Cpu(s): 0,0 us, 0,4 sy, 0,0 ni, 99,6 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
MiB Mem : 32015,8 ทั้งหมด, 27507,7 ฟรี, 1505,3 ใช้, 3002,8 บัฟ/แคช
MiB Swap: รวม 2048,0, ฟรี 2048,0, ใช้ไป 0,0 30073,2 ประโยชน์ Mem 

    ผู้ใช้ PID PR NI VIRT RES SHR S %CPU %MEM TIME+ คำสั่ง                                                                                                                
    832 ราก 20 0 0 0 0 S 1,7 0,0 0:09.37 nvidia-modeset/                                                                                                        
   6604 ราก 20 0 24,2g 55624 35720 S 1,3 0,2 0:01.70 Xorg                                                                                                                   
   7245 pguedes 20 0 816508 84356 49328 S 1,0 0,3 0:01.19 กวาเค                                                                                                                  
    200 ราก 20 0 0 0 0 ฉัน 0,3 0,0 0:00.08 kworker/15:1-เหตุการณ์                                                                                                    
   1517 ราก -51 0 0 0 0 S 0,3 0,0 0:02.13 irq/110-nvidia                                                                                                         
   6747 pguedes 20 0 5041032 374532 112356 S 0,3 1,1 0:03.69 คำพังเพยเปลือก                                                                                                            
   6757 pguedes 20 0 153416 8964 7020 S 0,3 0,0 0:00.19 ท่าทาง                                                                                                              
   7931 pguedes 20 0 12272 4156 3076 R 0,3 0,0 0:00.20 บนสุด                                                                                                                    
      1 รูท 20 0 168648 12748 8436 S 0,0 0,0 0:01.21 systemd                                                                                                                
      2 ราก 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd                                                                                                               
      3 ราก 0 -20 0 0 0 ฉัน 0,0 0,0 0:00.00 rcu_gp                                                                                                                 
      4 ราก 0 -20 0 0 0 ฉัน 0,0 0,0 0:00.00 rcu_par_gp                                                                                                             
      6 ราก 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/0:0H-events_highpri                                                                                            
      7 ราก 20 0 0 0 0 ฉัน 0,0 0,0 0:00.04 kworker/0:1-rcu_par_gp                                                                                                 
      9 ราก 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_percpu_wq                                                                                                           
     10 ราก 20 0 0 0 0 ส 0,0 0,0 0:00.00 rcu_tasks_rude_                                                                                                        
     11 ราก 20 0 0 0 0 วินาที 0,0 0,0 0:00.00 rcu_tasks_trace                                                                                                        
     12 ราก 20 0 0 0 0 วินาที 0,0 0,0 0:00.00 ksoftirqd/0                                                                                                            
     13 ราก 20 0 0 0 0 ฉัน 0,0 0,0 0:00.13 rcu_sched                                                                                                              
     14 ราก rt 0 0 0 0 S 0,0 0,0 0:00.00 การโยกย้าย/0                                                                                                            
     15 ราก -51 0 0 0 0 S 0,0 0,0 0:00.
vanadium avatar
cn flag
หากคุณต้องการข้อมูล ให้ระบุข้อมูลที่กระชับเกี่ยวกับระบบปัจจุบันของคุณ แอปพลิเคชันเริ่มต้นอัตโนมัติถูกกำหนดผ่านไฟล์ .desktop ซึ่งอยู่ใน ~ /config/autostart และควรเริ่มทำงานทันทีหลังจากเข้าสู่ระบบ
cn flag
@vanadium ไม่แน่ใจว่าคุณหมายถึงข้อมูลใด ฉันทราบดีว่า autostart ทำงานอย่างไร... ตามที่อธิบายไว้ข้างต้น ฉันพยายามเรียกใช้ guake แต่ลองด้วย gedit ด้วย (ลองตั้งค่า X-GNOME-Autostart-Delay=0)... แต่การหน่วงเวลาสำหรับแอปใดๆ ใน เริ่มอัตโนมัติและไม่ใช่ข้อมูลเฉพาะเจาะจง... หากมีข้อมูลบางอย่างที่จะช่วยได้ ฉันสามารถให้ข้อมูลได้ แต่ฉันแค่ไม่แน่ใจว่าข้อมูลใดจะเป็นประโยชน์
heynnema avatar
ru flag
@vanadium คุณ * จริงๆ * หมายถึง `~ /.config/autostart` :-)
vanadium avatar
cn flag
@heynnema แน่นอนว่าพิมพ์ผิด ฉันเปลี่ยนแป้นพิมพ์เป็นภาษาอังกฤษ (intl พร้อมปุ่ม AltGr ที่ตายแล้ว) ดังนั้นฉันจึงต้องกดเน้นเสียงเพียงครั้งเดียว - แป้นพิมพ์เหล่านี้เป็นเพียงปุ่มที่ไม่ทำงานเมื่อใช้ร่วมกับ AltGr ถึงกระนั้นฉันยังคงพิมพ์ช่องว่างต่อไปหลังจากปุ่มเหล่านี้ตายอย่างเป็นทางการ อันได้แก่~. ฉันต้องกลับไปลบช่องว่าง - ที่นี่ฉันลบไฟล์. แทน. นิสัยเก่าตายยากมาก
vanadium avatar
cn flag
@PedroGuedes Point คือคำถามของคุณไม่ได้ให้ข้อมูลที่กระชับซึ่งผู้อื่นสามารถแก้ปัญหาได้ เราทุกคนดูเหมือนจะรู้ว่า autostart ทำงานอย่างไร สิ่งที่คุณเห็นมักไม่ค่อยเห็น - คุณไม่พบรายงานในอินเทอร์เน็ตที่คุณพูด และน่าแปลกที่คุณมีรายงานนี้ในทุกเครื่องของคุณ การให้ข้อมูลเฉพาะเกี่ยวกับเวอร์ชัน Ubuntu และเดสก์ท็อปของคุณ และท้ายที่สุดรวมถึง Guake autostart .desktop อาจเป็นการเริ่มต้นที่ดี ให้ข้อมูลเกี่ยวกับการเปลี่ยนแปลงใดๆ ที่คุณอาจทำกับระบบของคุณ อุณหภูมิ สร้างบัญชีใหม่ จากนั้นตรวจสอบว่ายังมีปัญหาอยู่หรือไม่เมื่อลงชื่อเข้าใช้บัญชีใหม่นั้น...
cn flag
@vanadium เพิ่มรายละเอียด .desktop และ OS แต่อย่างที่ฉันพูดถึงฉันลองใช้ .desktop พื้นฐานที่แตกต่างกันเพื่อเปิด gedit และมันก็ทำงานเหมือนเดิม ... ความล่าช้าดูเหมือนไม่เกี่ยวข้องกับตัวเรียกใช้งานและให้ความรู้สึกเหมือนการหน่วงเวลาเริ่มต้นสำหรับการเริ่มต้นแอปทั้งหมด มีบันทึกที่ฉันสามารถค้นหาเมื่อการเข้าสู่ระบบและการเริ่มต้นแอปเกิดขึ้นหรือไม่
vanadium avatar
cn flag
อุณหภูมิ สร้างบัญชีใหม่ จากนั้นตรวจสอบว่ายังมีปัญหาอยู่หรือไม่เมื่อลงชื่อเข้าใช้บัญชีใหม่นั้น ด้วยวิธีนี้คุณสามารถแยกแยะปัญหาทั้งระบบได้
heynnema avatar
ru flag
@vanadium เป็นความคิดที่ดี โหวตขึ้น.
heynnema avatar
ru flag
ขอสถานะ...
cn flag
@vanadium ขออภัยในความล่าช้า แต่คริสต์มาสเข้ามาแทนที่ชีวิตของฉันไปหนึ่งนาที :) อย่างไรก็ตาม... ลองบัญชีใหม่... พฤติกรรมเดียวกันทุกประการ พฤติกรรมเดียวกันทุกประการกับ x1 carbon gen 4 และ gen 9 (แล็ปท็อปสองเครื่องของฉัน) ฉันจะเรียกใช้ VM ด้วย Ubuntu และดูว่ามีไว้ทำอะไร ... ถ้าคุณมี เช่น gedit ป๊อปอัพทันทีหลังจากเข้าสู่ระบบหรือไม่
cn flag
btw พวก ... สุขสันต์วันหยุดและขอบคุณสำหรับความช่วยเหลือ :)
cn flag
@vanadium ตกลง def บางอย่างในการตั้งค่าของฉัน .... บน VM มันเพิ่งเริ่มทันที (ตามที่คาดไว้) ... เนื่องจากมันเกิดขึ้นในบัญชีของฉันและบัญชีที่สร้างขึ้นใหม่ฉันจะดูที่ไหนได้อีก
heynnema avatar
ru flag
@PedroGuedes แก้ไขคำถามของคุณและแสดง `free -h` และ `sysctl vm.swappiness` และภาพหน้าจอของ `top` ให้บู๊ตเป็น Ubuntu Live USB และดูว่าเกิดขึ้นที่นั่นหรือไม่
cn flag
@heynnema อัปเดตการตอบสนอง ... กำลังมองหาปากกาเพื่อสร้างบูตได้ :)
cn flag
ตกลง ... มันเป็นซอฟต์แวร์ประณามของฉันเองฉันสร้าง daemon ท่าทางนี้เมื่อสองสามปีที่แล้วสำหรับโครงการวันหยุดคริสต์มาสของฉัน https://github.com/pguedes/gesticle (ฉันต้องการเรียนรู้เกี่ยวกับ linux desktop dev env และสนิม) และ นั่นคือสาเหตุของมัน ... ฉันเพิ่งลองติดตั้งใน VM และมันจำลองปัญหาของฉันทันที ... ฉันเดาว่าฉันต้องคิดออกว่าทำไมจึงเกิดขึ้น (daemon ตอบสนอง แต่ดูเหมือนว่าจะทำให้เกิดความล่าช้า) แต่อย่างน้อยฉันก็ รู้ว่าใครผิด...ก็ฉันเอง! ขอโทษที่ไล่ห่านป่า!!
cn flag
ฉันเดาว่ามันเป็นปัญหาแยกต่างหาก แต่ถ้าใครมีคำแนะนำว่าเกิดอะไรขึ้นกับ https://github.com/pguedes/gesticle/blob/master/deb-assets/gesticle.desktop ฉันยินดีที่จะรับข้อมูลของคุณ .. ฉันจะไปขุดไฟล์นั้น ฉันเดา
cn flag
ฉันใช้เวลาทั้งหมด 1 นาทีในการค้นหาสิ่งนี้ใน gnome docs... `ระยะเริ่มต้นของแอปพลิเคชันถูกควบคุมโดยคีย์ X-GNOME-Autostart-Phase ในไฟล์ .desktop หากไม่ได้ตั้งค่า ค่าเริ่มต้นจะเป็นเฟสแอปพลิเคชัน แอปพลิเคชันใน 4 เฟสแรกต้องส่งสัญญาณไปยังตัวจัดการเซสชันเมื่อเปิดใช้งาน (ผ่าน XSMP) ตัวจัดการเซสชันจะไม่เริ่มเฟสถัดไปจนกว่าทุกแอปในเฟสปัจจุบันจะระบุว่าพร้อม แอปพลิเคชันในเฟสแอปพลิเคชันไม่จำเป็นต้องสื่อสารกับผู้จัดการเซสชัน ` น่าอาย
Score:0
ธง cn

Eventually i found the issue to be a daemon (something i wrote myself) to be causing this because i missed the following lines in the gnome docs.

An application's startup phase is controlled by the X-GNOME-Autostart-Phase key in its .desktop file. If this is not set, it defaults to the Applications phase. Applications in the first 4 phases MUST signal to the session manager when they are up and running (via XSMP); the session manager won't start the next phase until every app in the current phase has indicated that it is ready. Applications in the Applications phase aren't necessarily expected to communicate with the session manager.

and also later on the same page:

In the "Initialization" phase, an application can just exit with status 0 to indicate that it is done setting up.

see https://wiki.gnome.org/Projects/SessionManagement/NewGnomeSession#Startup

which means that applications started during the Initialization phase need to return 0 to indicate that they are done setting up and the gnome session startup can continue... or it times out (like was happening to me). I missed this in the docs and so I was basically launching my daemon from that .desktop on that phase :facepalm:

fix was very basic: https://github.com/pguedes/gesticle/commit/7ad281066e77614a6a8f56cd37eef3a40fedab28#diff-80193a39279910d0f7d03cd29dba92ad660f9f167b53480f9a36e461868e8903

leaving the answer here in case it helps someone debugging something similar

โพสต์คำตอบ

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