Score:1

ปัญหา autostart เรียกใช้สคริปต์ xrandr อย่างง่ายเมื่อเริ่มต้น

ธง jp

ฉันได้สร้างสคริปต์เริ่มต้นอย่างง่ายเพื่อให้สามารถใช้ Ultrawide Monitor กับ Ubuntu 21.04 ได้ (ควรคล้ายกับเวอร์ชันก่อนหน้าด้วย) อย่างไรก็ตาม เมื่อฉันกำหนดค่าสคริปต์นี้ให้ทำงานเมื่อเริ่มต้นระบบโดยใช้ 'Autostart' ฉันได้รับข้อผิดพลาดเมื่อเริ่มต้นแทน โดยสคริปต์ไม่สามารถเรียกใช้ได้ การรันสคริปต์ด้วยตนเองทำงานได้ดี - มันเจ็บปวดที่จะเรียกใช้ทุกครั้งที่เริ่มด้วยตนเอง ....

อย่างไรก็ตามฉันได้รับข้อผิดพลาดนี้:

คำเตือน: ไม่สามารถเริ่มโปรแกรม '/home/user/scripts/2560x1080.sh' ด้วยอาร์กิวเมนต์ '/home/user/scripts/2560x1080.sh'

คำเตือน: execve: ข้อผิดพลาดของรูปแบบ Exec

อีกด้วยนี่คือสคริปต์ง่ายๆ:

#! /ถัง/ทุบตี
#cd /home/user/scripts/
xrandr --โหมดใหม่ "2560x1080_60.00" 230.00 2560 2720 2992 3424 1080 1083 1093 1120 -hsync +vsync
xrandr --addmode HDMI-2 2560x1080_60.00
xrandr --output HDMI-2 --โหมด 2560x1080_60.00

ขอบคุณ ล่วงหน้า

conmak avatar
in flag
คุณได้ลอง chronjobs เพื่อเริ่มต้นสคริปต์นี้แล้วหรือยัง?
sudodus avatar
jp flag
อาจเป็นลิงก์เหล่านี้: [ลิงก์ 1](https://askubuntu.com/questions/1353879/lubuntu-20-04-run-a-script-at-login- which-executes-in-a-terminal-window/1354182 #1354182) และ [ลิงก์ 2](https://askubuntu.com/questions/1251814/xrandr-command-in-startup-script-has-no-effect-but-script-does-run-and-command/1251882 #1251882) ช่วยคุณได้ วิธีนี้ได้รับการทดสอบในเวอร์ชัน 20.04 LTS ของ Ubuntu และ Lubuntu
Hamm avatar
jp flag
ขอบคุณสำหรับคำแนะนำ crontab! การเพิ่ม "@reboot sleep 10 && /home/user/scripts/2560x1080.sh" (ไม่มีเครื่องหมายอัญประกาศ) ต่อท้าย crontab ไม่ทำงานและไม่มีข้อความแสดงข้อผิดพลาด ดังนั้นฉันจึงไม่รู้ว่าเกิดอะไรขึ้น :[ นี่คือ KDE หรือ Kubuntu...
Organic Marble avatar
us flag
คุณกำลังพยายามเรียกใช้สคริปต์บน *startup* หรือบน *เข้าสู่ระบบ*?
Hamm avatar
jp flag
ฉันพยายามเรียกใช้เมื่อเริ่มต้น ฉันแค่ต้องการให้จอภาพทำงานด้วยความละเอียดแบบ ultrawide ดั้งเดิมเมื่อเริ่มต้น ฉันกำลังสร้าง "startscript.sh" ใหม่ที่เรียกใช้สคริปต์ 2562x1080.sh ที่ crontab จะทำงานหรือไม่
Score:0
ธง in

คุณได้ลอง cronjob แล้วหรือยัง?

คุณสามารถใช้ crontab สำหรับสิ่งนี้:

crontab -e

ที่ด้านล่างของไฟล์ คุณสามารถเพิ่มรายการที่จะรันเมื่อรีบูตได้:

เช่น:

@reboot /home/{ผู้ใช้ของคุณ}/scripts/startscript.sh

หมายเหตุ: สิ่งนี้อาจทำงานก่อนที่จะโหลดการอ้างอิงทั้งหมด คุณอาจต้องการเรียกใช้เชลล์สคริปต์แบบอะซิงโครนัส (เช่น การใช้ & ใน bash) และเพิ่มเวลาพักให้กับเชลล์สคริปต์ของคุณ

หมายเหตุ: คุณอาจต้องการทดลองใช้สิทธิ์เล็กน้อย ขึ้นอยู่กับว่าคุณต้องการรันด้วย sudo หรือไม่

บันทึก: sudo crontab -e แตกต่างจาก crontab -e

แก้ไข:

หากต้องการเพิ่มการบันทึกใน startscript.sh ของคุณ คุณสามารถลองไพพ์เอาต์พุตของคำสั่งไปยังไฟล์บันทึกดังนี้: /home/user/scripts/startscript.sh

#!/bin/bash
# จัดหา bashrc ของคุณสำหรับตัวแปรสภาพแวดล้อม
# หมายเหตุนี้ใช้ . เป็นซอร์ส (unix โรงเรียนเก่า) 
# เนื่องจากคำสั่งต้นทางอาจไม่พร้อมใช้งานขึ้นอยู่กับระบบปฏิบัติการ
. /home/user/.bashrc
นอน 30
echo "บันทึกการเริ่มต้น" > /home/user/scripts/log.txt
/home/user/scripts/myscript.sh >> /home/user/scripts/log.txt

หมายเหตุ: เส้นทางควรสมบูรณ์ใน chronjobs

sudodus avatar
jp flag
คุณพยายามเรียกใช้ [สคริปต์ที่มี] `xrandr` จาก `crontab @reboot` หรือไม่ สคริปต์ที่มี 'xrandr' ใช้งานได้สำหรับฉันจาก 'autostart'

โพสต์คำตอบ

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