Unix & Linux

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

1
ฉันจะกำหนดค่า PulseAudio สำหรับ 7.1 Surround Sound ผ่าน HDMI ได้อย่างไร
ฉันมีเครื่องของฉันเชื่อมต่อผ่าน HDMI เพื่อรับ แต่เมื่อฉันพยายามใช้มากกว่าสองแชแนลกับ PulseAudio ฉันจะได้แค่สองช่องเท่านั้น pacmd list cardsแสดงการ์ด แต่ไม่แสดงโปรไฟล์ HDMI ที่มีมากกว่าสองช่อง ฉันยืนยันว่าเสียง 7.1 ทำงานผ่าน ALSA: pasuspender -- speaker-test -D hdmi -c 8 -m FL,FC,FR,RR,RRC,RLC,RL,LFE สร้างสแตติกที่ไปรอบ ๆ ห้อง
10 audio  pulseaudio  hdmi 

2
การเติมข้อความอัตโนมัติ Bash สำหรับตัวแปรสภาพแวดล้อมที่มีชื่อไดเรกทอรี
ฉันใช้สิ่งอื่น ๆ ทุบตี 4.2.37 บน Linux Mint 14 เมื่อฉันเติมข้อความอัตโนมัติให้กับชื่อของตัวแปรสภาพแวดล้อมโดยการพิมพ์Tabมันจะขยายเป็นชื่อของตัวแปรตามด้วยช่องว่าง /ถ้าค่าของตัวแปรที่จะเกิดขึ้นชื่อไดเรกทอรีที่ฉันต้องการที่จะขยายไปที่ชื่อของตัวแปรตาม ตัวอย่างเช่นถ้าฉันพิมพ์: $ ls $HOM<tab> มันขยายไปที่: $ ls $HOME _ โดย_ทำเครื่องหมายที่ตำแหน่งของเคอร์เซอร์ ปัญหาคือว่าฉันก็มักจะต้องการที่จะดำเนินการพิมพ์ชื่อของไฟล์บางส่วนหรือไดเรกทอรีภายใต้ไดเรกทอรีบ้านของฉันซึ่งหมายความว่าฉันต้องพิมพ์แล้วbackspace/ ดังนั้นฉันต้องการที่จะขยายไป: $ ls $HOME/_ สิ่งเดียวกันนี้เกิดขึ้นเมื่อฉันพิมพ์ชื่อตัวแปรทั้งหมด หลังจากls $HOME, เพิ่มช่องว่างและฉันต้องการที่จะเพิ่มtab/ (และแน่นอนฉันไม่ต้องการให้เพิ่ม/ถ้าค่าของตัวแปรไม่ใช่ชื่อไดเรกทอรี) มีวิธีการบางอย่างที่ฉันสามารถบอกทุบตีการปฏิบัติตนในแบบที่ฉันต้องการทั้งผ่านทางคำสั่งทุบตีหรือโดยการอัปเดตของฉัน$HOME/.inputrc? หมายเหตุ: ฉันกำลังมองหาวิธีที่จะทำให้tabพฤติกรรมในแบบที่ฉันต้องการโดยเฉพาะ วิธีในการบรรลุพฤติกรรมเดียวกันกับการกดแป้นแตกต่างกันจะน่าสนใจ แต่จะไม่ตอบคำถามของฉัน (ฉันปิดการใช้งาน/etc/profile.d/bash_completion.shในระบบของฉันเพราะมันมีปฏิสัมพันธ์ไม่ดีset -o nounsetการทดสอบอย่างรวดเร็วบ่งชี้ว่าสิ่งนี้อาจไม่เกี่ยวข้องกับคำถามของฉัน) อนึ่ง tcsh ทำสิ่งนี้: กำหนดตัวแปรสภาพแวดล้อมการ$FOOBARพิมพ์$FOOBA<tab>ขยายไปถึง$FOOBAR/ถ้ามันอ้างถึงไดเรกทอรี$FOOBAR(มีช่องว่าง) ถ้ามันไม่ได้ ไม่นั่นไม่เพียงพอที่จะชักชวนให้ฉันกลับไปที่ tcsh zsh ทำเช่นนี้เช่นกัน

2
ตัวแปรโลคัลใน zsh: อะไรคือสิ่งที่เทียบเท่ากับ bash ของ“ export -n” ใน zsh
ฉันพยายามที่จะ จำกัด ขอบเขตของตัวแปรให้กับเชลล์และไม่มีลูกให้ดูใน zsh ตัวอย่างเช่นฉันพิมพ์สิ่งนี้ใน. zshrc: GREP_OPTIONS=--color=always แต่ถ้าฉันรันเชลล์สคริปต์ด้วยสิ่งต่อไปนี้: #!/bin/bash echo $GREP_OPTIONS ผลลัพธ์คือ: --color=always ในขณะที่ฉันต้องการให้เป็นโมฆะ (เชลล์สคริปต์ด้านบนไม่ควรเห็นตัวแปร GREP_OPTIONS เลย) ในทุบตีใครจะพูดว่า: export -n GREP_OPTIONS=--color=alwaysซึ่งจะป้องกันไม่ให้เกิดเหตุการณ์ ฉันจะทำสิ่งนี้ให้สำเร็จใน zsh ได้อย่างไร?

3
libusb เข้าถึงสิ่งเคอร์เนลอย่างไร
จากสิ่งที่ฉันเข้าใจ: โดยทั่วไปแล้วไดรเวอร์จะทำงานในพื้นที่เคอร์เนลและสามารถเรียกใช้จากพื้นที่ผู้ใช้ โค้ดในพื้นที่เคอร์เนลเท่านั้นที่สามารถเรียกสิ่ง usb ระดับต่ำ / ioctl libusb เป็นห้องสมุดดังนั้นมันจะรวบรวมและเรียกใช้ในพื้นที่ของผู้ใช้ ดังนั้นวิธีการlibusbบรรลุ USB ระดับต่ำได้อย่างไร
10 usb  drivers 

2
ทำไมเคอร์เนล Linux รายงานว่า“ พื้นที่ดิสก์ไม่เพียงพอ” เมื่อในความเป็นจริงมันอยู่นอก i-nodes
เพื่อนของฉันที่ชอบเขียนโปรแกรมในสภาพแวดล้อม Linux แต่ไม่รู้เกี่ยวกับการดูแลระบบของ Linux เมื่อเร็ว ๆ นี้พบปัญหาที่ระบบปฏิบัติการ (Ubuntu) ของเขารายงานว่า แต่เมื่อเขาไปตรวจสอบระดับเสียงยังคงมี 700 GB เหลืออยู่ หลังจากเสียเวลามากในที่สุดเขาก็สามารถคิดได้ว่าเขาออกจาก inodes (เขาเก็บข้อมูลอัปเดตที่เพิ่มขึ้นจำนวนเล็กน้อยจากระบบสำรองข้อมูลในโวลุ่มนี้และเขียนผ่าน inodes ทั้งหมดของเขา) เขาถามฉันว่าทำไมเคอร์เนล Linux รายงานข้อความแสดงข้อผิดพลาด ("ออกจากพื้นที่ดิสก์") แทนที่จะรายงานอย่างถูกต้อง ("out of inodes") ฉันไม่รู้ดังนั้นฉันคิดว่าฉันจะถาม StackExchange ใครรู้ว่าทำไมสิ่งนี้เกิดขึ้น? และทำไมมันไม่ได้รับการแก้ไขหลังจากหลายปีที่ผ่านมา? (ฉันจำเพื่อนคนอื่นบอกฉันเกี่ยวกับปัญหานี้ในปี 1995)

1
แปลงพา ธ ของไฟล์เก็บถาวร tar โดยไม่แตกไฟล์
GNU มีตัวเลือกเรียบร้อยเรียกว่าtar(1) --transformจากหน้าคน: --transform, --xform EXPRESSION ใช้ sed แทนที่ EXPRESSION เพื่อเปลี่ยนชื่อไฟล์ สิ่งนี้ช่วยให้การแปลงชื่อพา ธ ได้อย่างรวดเร็วเนื่องจากมีการแยกไฟล์เก็บถาวรเพื่อให้คุณสามารถควบคุมตำแหน่งและวิธีที่จะแตกไฟล์ได้ คำถามของฉันคือมีวิธีที่จะทำการเปลี่ยนแปลงที่คล้ายกันในแหล่งกำเนิด ; เช่นโดยไม่ต้องแยกเก็บถาวร? ตัวอย่าง [user@host]$ tar tf test.tar ./foo/blah ./foo/bleh [user@host]$ some_deep_magic 's/foo/bar/' test.tar [user@host]$ tar tf test.tar ./bar/blah ./bar/bleh ใช้กรณี ฉันแจกจ่ายtarไฟล์เก็บถาวรให้กับผู้ใช้ทั่วไปที่ไม่มีส่วนร่วมและต้องการให้มันแยกไปยังเส้นทางที่ถูกต้องโดยไม่มีการรบกวนจากฉัน ฉันกำลังพยายามหลีกเลี่ยงวิธีแก้ปัญหาเล็กน้อยในการแยกไฟล์เก็บถาวรเปลี่ยนชื่อไดเรกทอรีและบรรจุใหม่เนื่องจากไฟล์เก็บถาวรมีขนาดใหญ่
10 tar 

2
การตั้งค่าตัวแปร $ TERM ถูกต้องหรือไม่
ฉันตั้งค่า$TERMตัวแปรเพิ่มบรรทัดXTerm*termName: xterm-256colorใน.Xresourcesไฟล์ของฉัน เมื่อฉันทำฉันไม่ทราบว่าสิ่งที่ตั้งใจ (ฉันทำตามคำแนะนำออนไลน์เพื่อเปลี่ยนรูปลักษณ์ของxterm) แต่ตอนนี้ฉันได้อ่านอีกเล็กน้อยและกังวลถ้าสิ่งที่ฉันทำผิด โดยเฉพาะฉันต้องการทราบว่ามีบางสิ่งไม่ดีในการตั้งค่า$TERMตัวแปรด้วยตนเองและในกรณีที่เป็นเช่นนั้นฉันจะเปลี่ยนความผิดพลาดได้อย่างไร ในกรณีที่คุณต้องการฉันทำงาน Fedora xterm20

3
grep เพื่อค้นหาอินสแตนซ์ของ“ Foo” ที่“ บาร์” ไม่ปรากฏภายใน 10 บรรทัด
สมมติว่าฉันต้องการค้นหาต้นไม้ทั้งหมดสำหรับไฟล์ CPP ทั้งหมดที่เกิด "Foo" ฉันอาจทำ: find . -name "*.cpp" | xargs grep "Foo" ตอนนี้สมมติว่าฉันต้องการแสดงเฉพาะอินสแตนซ์ที่มีสตริงอื่น ๆ กล่าวว่า "บาร์" ไม่ได้เกิดขึ้นภายใน 3 บรรทัดของผลลัพธ์ก่อนหน้า รับสองไฟล์: a.cpp 1 Foo 2 qwerty 3 qwerty b.cpp 1 Foo 2 Bar 3 qwerty ฉันต้องการสร้างการค้นหาทั่วไปที่พบ "Foo" จาก a.cpp แต่ "Foo" จาก b.cpp ไม่ มีวิธีการทำสิ่งนี้ในวิธีที่ค่อนข้างง่ายหรือไม่?
10 grep 

4
ฉันจะค้นหาติดตามได้อย่างไรส่วนใหญ่ แต่ไม่ทั้งหมดลิงก์สัญลักษณ์?
ระบบปฏิบัติการและโฮมไดเรกทอรีของฉันอยู่ใน SSD ฉันเก็บไฟล์ขนาดใหญ่ไว้ในฮาร์ดดิสก์และ symlink จากโฮมไดเร็กตอรี่ของฉันไปยังฮาร์ดดิสก์ (เช่น. ~ / Videos / Films เป็น symlink ไปยัง / mnt / hdd / Films) ฉันยังมีหมายเลขนำหน้าจำนวนไวน์ซึ่งแต่ละอันมี dosdevices / z: symlinked to / ดังนั้นถ้าฉันใช้ find โดยไม่มี -L มันจะพลาดทุกอย่างที่อยู่ในฮาร์ดดิสก์ แต่ถ้าฉันใช้ find ด้วย -L ​​มันจะสิ้นสุดในลูปเนื่องจาก symlink ของไวน์เป็น / มีวิธีที่เหมาะสมในการแก้ไขปัญหานี้เพื่อค้นหาสิ่งที่ฉันต้องการหรือไม่ อย่างสังหรณ์ใจฉันต้องการบางสิ่งบางอย่างตามแนวของ "ติดตาม symlinks ยกเว้นว่าพวกเขาอยู่ภายใต้ไดเรกทอรีที่เรียกว่า dosdevices" "ติดตาม symlink ที่อยู่บนฮาร์ดดิสก์" ก็ใช้ได้เช่นกัน
10 find  symlink 

3
วิธีเปิดใช้งานการเลื่อนและแตะทัชแพดใน Debian Wheezy KDE
ฉันกำลังพยายามเปิดและแตะด้วยทัชแพดของแล็ปท็อป (ปุ่มซ้ายและขวา 2 ปุ่มก็โอเค) ฉันใช้ Debian 7.3 (Wheezy) KDE-desktop และฉันมีทัชแพด Synaptic แล็ปท็อปของฉันเป็นรุ่น HP รุ่นเก่าในปี 2007 ดังนั้นจึงไม่รองรับการใช้งานแบบมัลติทัช ในฐานะที่เป็นรากฉันสร้าง/etc/X11/xorg.conf.d/synaptics.confไฟล์ที่ฉันได้คัดลอกด้านล่าง จากนั้นใน Konsole ฉันให้synclient -lและรับรหัสต่อไปนี้กลับมา: Parameter settings: LeftEdge = 1752 RightEdge = 5192 TopEdge = 1620 BottomEdge = 4236 FingerLow = 25 FingerHigh = 30 FingerPress = 256 MaxTapTime = 180 MaxTapMove = 221 …

2
ฉันจะใช้ cp --attribute-only เมื่อใด
ทำการศึกษาเกี่ยวกับคำสั่ง Unix พื้นฐานและพยายามรับตัวอย่างเมื่อฉันต้องการใช้ตัวเลือกบรรทัดคำสั่งต่อไปนี้--attributes-onlyสำหรับคำสั่งcp นี่คือจากcpหน้าคน --attributes-only don't copy the file data, just the attributes
10 files  cp 

1
ส่งแพ็คเก็ตผ่านเครือข่ายแม้ว่าเป้าหมายจะเป็นโฮสต์ท้องถิ่น
ภายใต้ Linux หากคุณส่งแพ็คเก็ตไปยังที่อยู่ของหนึ่งในอินเทอร์เฟซเครือข่ายของตนแพ็คเก็ตนี้จะถูกกำหนดเส้นทางภายในมันจะไม่ถูกส่งผ่านเครือข่าย นั่นคือสิ่งที่ถูกต้องใน 99.99% ของคดี ในบางครั้งเมื่อทดสอบการกำหนดค่าเครือข่ายจะมีประโยชน์ในการส่งแพ็กเก็ตผ่านลิงก์ท้องถิ่นจากเครื่องด้วยตัวเองเป็นเครื่องเป้าหมาย ฉันจะทำสิ่งนี้ได้อย่างไร อย่างน้อยสำหรับลิงค์ประเภทบัสเช่นอีเธอร์เน็ตหากไม่ใช่สำหรับลิงก์แบบจุดต่อจุด ฉันสนใจแพ็กเก็ต IP เท่านั้น (ทั้ง IPv4 และ IPv6)

7
การเข้าถึง SSH จากภายในและภายนอก LAN โดยใช้คำสั่งเทอร์มินัลเดียวกัน
ฉันมีราสเบอร์รี่ Pi (RPi) และฉันทำการเชื่อมต่อระยะไกลกับมันโดยใช้ ssh ฉันจัดการเพื่อตั้งค่า ssh อย่างถูกต้องเพื่อให้ฉันสามารถเข้าถึง RPi ทั้งจากเครือข่ายท้องถิ่นและจากอินเทอร์เน็ต (โดยใช้พอร์ตเฉพาะที่ฉันเปิดบนเราเตอร์ของฉัน) สมมติว่าชื่อผู้ใช้johnและ RPi ชื่อraspi: การเข้าถึง LAN ภายใน ssh john@192.168.2.7 ssh john@raspi ssh raspi นอกการเข้าถึง LAN ssh -p 1234 john@12.345.67.89 ssh -p 1234 12.345.67.89 แต่ฉันจะทำssh raspiจากนอกระบบ LAN ได้อย่างไร มีวิธีการกำหนดค่า raspi ให้ชี้ไปที่สองที่อยู่ IP หนึ่งใน LAN และหนึ่งผ่านอินเทอร์เน็ตหรือไม่ สิ่งที่ฉันต้องการคือการเข้าถึง RPi ของฉันด้วยวิธีเดียวไม่ว่าฉันจะอยู่ที่บ้านหรือที่ทำงาน

1
การติดตั้งไฟล์ภาพฟลอปปี้เก่า (รูปแบบ .ima) - มันยากขนาดไหน
ฉันพยายามmountและเข้าถึงไฟล์ภาพฟลอปปี้ในรูปแบบ .ima (การถ่ายโอนข้อมูลดิบไปยังฟลอปปี้คล้ายกับ. img ) ใน ArchLinux ไฟล์นี้เป็นส่วนหนึ่งของชุด 30 ไฟล์นี้ไม่สามารถบู๊ตได้ แต่เป็นการต่อเนื่องของชุดไฟล์ วัตถุประสงค์ไม่ใช่การจัดการเพื่อการติดตั้งหรือการโคลน ฉันสนใจเอกสารที่มีอยู่กับข้อมูลอื่น ๆ บนดิสก์ ข้อมูลไฟล์รูปภาพ นี่คือข้อมูลเกี่ยวกับไฟล์ภาพนี้: # file U19.IMA U19.IMA: PC formatted floppy with no filesystem # fdisk -lu U19.IMA Disk U19.IMA: 1.4 MiB, 1474560 bytes, 2880 sectors Units: sectors of 1 * 512 = 512 bytes Sector size …

3
วิธีแปลงไฟล์ VOB เป็น avi
ฉันพยายามแปลงไฟล์ VOB ที่คัดลอกมาจาก DVD เป็น avi ใน Ubuntu 13.10 ฉันลองdvdripซึ่งล้มเหลวเนื่องจากข้อผิดพลาดในการนับเฟรมหรือบางสิ่ง ฉันลอง acidrip ด้วย แต่ก็เลือกแทร็กเสียงที่ฉันไม่ต้องการใช้เสมอ ฉันต้องการมีโซลูชันบรรทัดคำสั่งเพื่อสร้าง avi ด้วยคุณสมบัติต่อไปนี้: ใช้งานได้กับ mplayer (เช่นการใช้ฟังก์ชั่นขั้นตอน) พร้อมคำบรรยายตามต้องการ (หรือไม่มีเลย) ด้วยแทร็กเสียงที่ถูกต้อง พร้อมซิงค์วิดีโอและเสียง ฉันลองffmpegและavconvคำสั่งและจัดการเพื่อสร้าง avi แต่วิดีโอและเสียงนั้นไม่ได้ซิงค์กันเลย ดังนั้นฉันควรใช้ตัวเลือกใดในการแปลงไฟล์ VOB เป็นไฟล์ avi ฉันขอขอบคุณคำอธิบายเกี่ยวกับตัวเลือกที่แนะนำ! ข้อมูลเพิ่มเติม: ffmpegคำสั่งให้การส่งออกต่อไปนี้สำหรับแฟ้มใส่ Input #0, mpeg, from 'Videos/Test/VIDEO_TS/VTS_01_1.VOB': Duration: 00:04:53.32, start: 0.045500, bitrate: 29284 kb/s Stream #0.0[0x1e0]: Video: mpeg2video …

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