Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

3
วิธีสร้าง GUI เก่า ๆ (เช่นตัวติดตั้งเดเบียน / arch)
ฉันได้ทำการติดตั้งจำนวนมากเมื่อเร็ว ๆ นี้และเมื่อเป็นไปได้ฉันมักจะเลือกติดตั้งข้อความจากเมนู GRUB ของ Live CD โปรแกรมติดตั้งส่วนใหญ่มีลักษณะดังนี้: ฉันมักจะคิดว่า GUIs เหล่านี้ (ถ้าคุณสามารถเรียกได้ว่าเป็นอย่างนั้น) ช่างน่ากลัวและเบา หากเห็นว่ามีแอปพลิเคชัน / distros จำนวนมากที่ใช้แอปพลิเคชันนั้นจะต้องเป็นไลบรารีที่ใช้ร่วมกัน มีวิธีที่ฉันสามารถทำสิ่งนี้หรือไม่?
13 scripting  distros  gui 

1
หน้าต่างลดการใช้หน่วยความจำฟรีให้น้อยที่สุดหรือไม่
ทั้งหน้าต่างขยายใหญ่สุดที่ไม่แสดงและหน้าต่างย่อเล็กสุดจะไม่ปรากฏให้ผู้ใช้เห็น โดยไม่แสดงผลฉันหมายถึงหน้าต่างที่ขยายใหญ่สุดที่ไม่ได้ใช้งานซึ่งอยู่ในหน้าต่างที่ใช้งานอยู่ มีความแตกต่างกัน --- ซึ่งเห็นได้ชัดในบริการเปลี่ยนแอปพลิเคชันเช่นเดียวกับ Compiz: ลักษณะที่ปรากฏของหน้าต่างที่ขยายใหญ่สุดคือ "รู้จัก" สำหรับ Window Manager (ดังนั้นจึงสามารถสร้างภาพขนาดย่อ) ในขณะที่หน้าต่างย่อเล็กสุดแสดงด้วยไอคอน เท่านั้น (ไม่ได้คำนวณลักษณะที่ปรากฏ / เนื้อหาของหน้าต่าง) ดังนั้นนี่หมายความว่าหน่วยความจำจะถูกปลดปล่อยเมื่อหน้าต่างย่อเล็กสุด? หน่วยความจำ จำกัด ตามจำนวนหน้าต่างที่ WM สามารถขยายให้ใหญ่สุดได้หรือไม่? หากมีข้อ จำกัด ดังกล่าวมีความเกี่ยวข้องหรือไม่? ลองนึกภาพ WM ที่ไม่อนุญาตให้ย่อเล็กสุด (แต่เพียงสลับไปมาระหว่างหน้าต่างที่ขยายใหญ่สุด): WM นี้จะกำหนดข้อ จำกัด จำนวนมากให้กับผู้ใช้เนื่องจากการใช้หน่วยความจำหรือไม่? ขอบคุณสำหรับการล้างข้อมูล --- ฉันอาจมีความคิดที่ผิด

2
ฉันจะทำให้“ ขาวดำ” เป็นค่าเริ่มต้นได้อย่างไร
เมื่อฉันพิมพ์บางสิ่ง (Firefox 5 แต่รวมถึงแอปอื่น ๆ ) ตัวเลือก "สี" จะถูกตั้งค่าเป็น "สี (CMYK)" เสมอ ฉันจะทำให้ "ขาวดำ" หรือ "ขาวดำ" เป็นค่าเริ่มต้นได้อย่างไร นี่คือKyocera FS-C5100DN ที่มี CUPS 1.4.6-5ubuntu1.3 [แก้ไข]ผลลัพธ์ของlpstat -d -v: system default destination: FS-C5100DN device for FS-C5100DN: socket://192.168.0.24 ดังนั้นคำถามคือตอนนี้ฉันสามารถเปลี่ยนค่าเริ่มต้นอย่างใดอย่างหนึ่งบนคอมพิวเตอร์ของตัวเองโดยไม่ต้องเปลี่ยนการตั้งค่าบนเซิร์ฟเวอร์?
13 printing  cups 

4
จะแสดงรายการไฟล์และไดเรกทอรีที่ซ่อนอยู่ซ้ำ ๆ ทั้งหมดได้อย่างไร
ฉันต้องการแสดงรายการไฟล์และไดเรกทอรีที่ซ่อนอยู่ทั้งหมดจากนั้นบันทึกผลลัพธ์ลงในไฟล์ มีคำสั่งสำหรับสิ่งนี้หรือไม่?
13 files  directory 

3
เลือก block code เป็นกลุ่ม
รับรหัสดังนี้: 588 while ($linecounter > 0) { 589 $token = " "; 590 while ($token != PHP_EOL) { 591 if (fseek($handle, $pos, SEEK_END) == -1) { 592 $beginning = true; 593 break; 594 } 595 $token = fgetc($handle); 596 $pos--; 597 } 598 $linecounter--; 599 if ($beginning) { 600 rewind($handle); …

4
มีแป้นพิมพ์ลัดเพื่อให้หน้าต่างครึ่งหน้าจอใช้หรือไม่
มีแป้นพิมพ์ลัดที่ฉันสามารถใช้เพื่อทำให้หน้าต่างอยู่ครึ่งซ้ายหรือขวาของหน้าจอหรือไม่ ฉันใช้ Ubuntu รุ่นที่แก้ไขแล้ว สำหรับ Mac ฉันแค่ใช้ Divvy แต่ฉันไม่แน่ใจว่ามีเครื่องมือ Linux ทำสิ่งเดียวกันหรือไม่
13 gnome  window 

2
จะส่งตัวแปรไปยังสคริปต์ที่เปิดใช้งานรูทได้อย่างปลอดภัยได้อย่างไร
คำถามนี้เป็นคำถามทั่วไปและไม่เพียง แต่ใช้กับสถานการณ์ของฉันเท่านั้น แต่ ... ฉันมีเครื่องมือ busybox ขนาดเล็กที่ฉันต้องการให้ผู้ใช้ที่ไม่ใช่รูทสามารถรันสคริปต์เฉพาะกับสิทธิ์พิเศษของรูทได้ ตัวอย่างเช่นบางสิ่งบางอย่างเช่นสคริปต์ขนาดเล็กนี้เพื่อเปิดใช้งาน DHCP โดยที่ตัวแปรเดียว ( $1) เพื่อส่งเข้าสู่ cmdline (!!) คือชื่อโฮสต์ที่จะส่งออก: #!/bin/bash udhcpc -b -i eth0 -h $1 การเรียกใช้ udhcpc เช่นนี้ต้องใช้การเข้าถึงรูทดังนั้นฉันวางแผนที่/etc/sudoersจะแก้ไขเพื่อให้มีบรรทัดนี้: joe ALL = NOPASSWD: /path/to/enable_dhcp.sh ซึ่งควรเปิดใช้งาน "joe" เพื่อให้เรียกใช้สคริปต์นั้นได้อย่างง่ายดายด้วยสิทธิ์พิเศษของรูทเพียงแค่เรียกใช้: sudo /path/to/enable_dhcp.sh และไม่ถูกถามหารหัสผ่าน (ซึ่งเป็นสิ่งที่ฉันต้องการเนื่องจากฉันต้องการให้โจสามารถเขียนสคริปต์นี้ได้) ตอนนี้ .. ฉันรู้แล้ว (หรืออย่างน้อยฉันก็คิดว่า) การใช้$1สคริปต์ที่สามารถรันได้อย่างง่ายดายด้วยสิทธิ์พิเศษของรูทเป็นแนวคิดที่น่ากลัวเพราะคุณสามารถฉีดสิ่งที่คุณต้องการได้ ดังนั้น ... วิธีที่ดีที่สุดในการจัดการกับเรื่องนี้คืออะไร? ฉันจะปล่อยให้โจทำสิ่งที่ฉันต้องการด้วยสิทธิ์ของรูทอนุญาตให้เขาส่งผ่านตัวแปร (หรือทำอย่างนั้นได้อย่างมีประสิทธิภาพเหมือนกับตัวแปรสภาพแวดล้อม) ในขณะที่ไม่เปิดกว้างสำหรับการโจมตีแบบฉีด

4
หากฉันเชื่อมต่ออุปกรณ์ทางกายภาพฉันจะรู้ได้อย่างไรว่าไฟล์อุปกรณ์ใดเป็นของมัน
สมมติว่าฉันเสียบไดรฟ์ USB หลายตัวที่ไม่ได้เมาท์โดยอัตโนมัติ ฉันจะทราบได้อย่างไรว่าไฟล์อุปกรณ์ใดเป็นของอุปกรณ์ฟิสิคัลดังนั้นฉันจึงสามารถเมานต์ไฟล์ได้? ฉันใช้ Mac OS X แต่ฉันชอบคำตอบที่ใช้ได้กับระบบ Unix ทั้งหมด (หรืออย่างน้อยก็เป็นที่นิยมที่สุด) ฉันมีปัญหากับ Linux ในอดีต
13 linux  osx  usb  devices  bsd 

3
พิมพ์บรรทัดระหว่าง (และไม่รวม) สองรูปแบบ
ฉันจะส่งแบบฟอร์มโดยใช้ cURL ซึ่งเนื้อหาบางส่วนมาจากไฟล์อื่นที่เลือกโดยใช้ sed หากparam1เป็นรูปแบบการจับคู่บรรทัดจากไฟล์อื่น ๆ ที่ใช้sedคำสั่งด้านล่างจะทำงานได้ดี: curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit ตอนนี้ไปที่ปัญหา ฉันต้องการแสดงเฉพาะข้อความระหว่าง 2 รูปแบบการจับคู่ที่ไม่รวมรูปแบบการจับคู่นั้น ช่วยบอกว่าfile.txtประกอบด้วย: Bla bla bla firstmatch It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. secondmatch …

2
การควบคุม IO แบบบล็อกตามน้ำหนักสำหรับ VMs
ฉันใช้ KVM เพื่อจัดการเครื่องเสมือนของฉัน ฉันพยายาม จำกัด ทรัพยากรที่มีให้สำหรับ VMs ฉันสามารถ จำกัด CPU และหน่วยความจำที่จัดสรรสำหรับ VMs โดยใช้ libvirt / cgroups ตอนนี้ฉันต้องการควบคุมเวลาดิสก์ที่จัดสรรให้กับ VM แต่ละเครื่องโดยใช้น้ำหนักบางอย่าง ฉันดูการควบคุม blkio จากกลุ่ม cg เนื่องจาก VM เป็นเพียงกระบวนการลีนุกซ์ฉันจะสามารถใช้กลุ่ม cg ได้ แต่ฉันไม่แน่ใจว่ามันจะทำงานกับ IO แบบอะซิงโครนัสหรือไม่ ถ้าไม่มีใครสามารถแนะนำทางเลือกที่ดีได้หรือไม่?

1
TCP แอดเดรสซ็อกเก็ตโลคัลที่ถูกผูกไว้ไม่พร้อมใช้งานนานเท่าใดหลังจากปิดแล้ว
บน Linux (เซิร์ฟเวอร์ที่ใช้งานจริงของฉันอยู่ใน RHEL 5.5 - ลิงค์ LXR ด้านล่างเป็นเวอร์ชั่นของเคอร์เนล) man 7 ipกล่าวว่า: ที่อยู่ซ็อกเก็ต TCP ท้องถิ่นที่ถูกผูกไว้ไม่สามารถใช้งานได้หลังจากปิดไปแล้วยกเว้นว่าตั้งค่าสถานะ SO_REUSEADDR แล้ว SO_REUSEADDRฉันไม่ได้ใช้ "บางครั้ง" นานแค่ไหน? ฉันจะทราบได้ว่านานแค่ไหนและฉันจะเปลี่ยนได้อย่างไร ฉันทำตัวยุ่งเหยิงไปรอบ ๆ นี้และพบข้อมูลบางอย่างที่ไม่สามารถอธิบายได้จากมุมมองของโปรแกรมเมอร์แอปพลิเคชัน เพื่อปัญญา: TCP_TIMEWAIT_LENในnet/tcp.hคือ "ระยะเวลารอที่จะทำลายสถานะ TIME-WAIT" และได้รับการแก้ไขที่ "ประมาณ 60 วินาที" / proc / sys / net / ipv4 / tcp_fin_timeoutคือ "เวลาเก็บซ็อกเก็ตในสถานะ FIN-WAIT-2 หากปิดด้านข้างของเรา" และ "ค่าเริ่มต้นคือ 60 วินาที" ที่ซึ่งฉันสะดุดอยู่ในการเชื่อมช่องว่างระหว่างโมเดลของเคอร์เนลของวงจรชีวิต …

4
ฉันจะ จำกัด ขนาดไฟล์ที่ดาวน์โหลดใน wget ได้อย่างไร
ฉันต้องการใช้wget(จากสคริปต์ PHP) เพื่อดาวน์โหลดไฟล์ภาพ แต่ไม่ต้องการดาวน์โหลดไฟล์ในขนาดที่กำหนด ฉันสามารถ จำกัด ขนาดไฟล์ด้วยได้wgetหรือไม่? ถ้าไม่เป็นวิธีที่ดีกว่าคืออะไร?
13 files  wget  size 

2
วิธีการปิดบานหน้าต่างทั้งหมด แต่บานหน้าต่างปัจจุบันใน tmux
ฉันมีคีย์ที่ผูกติดกับบานหน้าต่างการตั้งค่าตามความชอบ แต่บางครั้งก็เกิดความสับสนหรือหลุดมือไปและฉันต้องการปิดบานหน้าต่างทั้งหมดและเรียกใช้สคริปต์อีกครั้ง มีtmuxคำสั่งง่าย ๆในการปิดบานหน้าต่างทั้งหมดยกเว้นที่ฉันกำลังใช้อยู่หรือไม่?

4
ฉันจะผูกคำสั่ง tmux หลายคำสั่งกับการกดแป้นเดียวได้อย่างไร
โดยเฉพาะฉันพยายามแจ้งเตือนหลังจากคำสั่งบางอย่างเสร็จสมบูรณ์ ตัวอย่างเช่นถ้าฉันโหลดไฟล์กำหนดค่าใหม่ฉันต้องการได้รับการยืนยันว่าใช้งานได้ซึ่งอาจทำอะไรแบบนี้: bind R source-file "$HOME/.tmux.conf" && display-message "Configuration reloaded." อย่างไรก็ตามนั่นไม่ได้ผล หรือทำสิ่งอื่นใดที่ฉันพยายามเป็นวิธีการรวมคำสั่งเข้าด้วยกัน

4
มีทางลัดเป็นกลุ่มสำหรับ <ชื่อไฟล์ปัจจุบัน> หรือไม่?
ในกลุ่มถ้าฉันทำงานกับสคริปต์ Python ฉันจะพิมพ์โดยทั่วไป: :! python this_script.py เพื่อรันสคริปต์ มีทางลัดสำหรับชื่อของไฟล์ปัจจุบันหรือไม่? ถ้าไม่ฉันสามารถสร้างได้ง่ายหรือไม่? ฉันใหม่ที่เป็นกลุ่มและฉันไม่แน่ใจว่าจะทำอย่างไรกับ google สำหรับสิ่งนี้

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