ดาวน์โหลด FlightGear ได้ฟรี: คู่มือการติดตั้งอย่างเป็นทางการ
ดาวน์โหลด FlightGear ได้ฟรีจากเว็บไซต์ทางการ เปรียบเทียบแพ็กเกจสำหรับ Windows, macOS และ Linux ติดตั้งไฟล์ข้อมูล และเริ่มต้นการบินครั้งแรกของคุณ
วิธีที่ง่ายและน่าเชื่อถือที่สุดในการสลับเอาต์พุตของ PipeWire จากสคริปต์บน Debian คือการใช้wpctlเครื่องมือบรรทัดคำสั่ง WirePlumber: ระบุโหนด sink สองโหนดที่คุณต้องการ ตรวจสอบ sink เริ่มต้นปัจจุบัน และเรียกwpctl set-default IDใช้ sink อีกโหนดหนึ่ง วิธีนี้ดีกว่าการกำหนด ID โหนดเป็นตัวเลขแบบตายตัว เพราะ ID ของอ็อบเจ็กต์ PipeWire อาจเปลี่ยนแปลงได้เมื่ออุปกรณ์ตัดการเชื่อมต่อ เชื่อมต่อใหม่ หรือเซสชันเริ่มต้นใหม่
คู่มือนี้ใช้การสลับอุปกรณ์สองตัว เช่น ลำโพงแล็ปท็อปและหูฟังบลูทูธ และตั้งใจรักษาตรรกะให้เข้ากันได้กับทั้ง Debian 13 (Trixie) และ Debian 12 (Bookworm) ในปัจจุบัน ณ เดือนตุลาคม 2026 หน้าแพ็กเกจของ Debian แสดงรายการ WirePlumber เวอร์ชัน 0.5.8 ใน Debian 13 และ 0.4.13 ใน Debian 12 เวอร์ชัน WirePlumber ที่ใหม่กว่ามีคุณสมบัติการแสดงรายการเพิ่มเติม แต่wpctl status -n, wpctl inspect, และwpctl set-defaultเป็นตัวร่วมที่จำเป็นในที่นี้
ใช้วิธีนี้เมื่อ PipeWire กำลังจัดการเสียงบนเดสก์ท็อปอยู่แล้ว และคุณต้องการทางลัดแป้นพิมพ์ ตัวเรียกใช้งาน ชื่อย่อในเชลล์ หรือปุ่มลัดเพื่อสลับระหว่างเอาต์พุตสองตัว วิธีนี้ใช้ได้ดีกับเอาต์พุตอะนาล็อกในตัว รวมถึง DAC USB จอภาพ HDMI ชุดหูฟังบลูทูธ หรืออุปกรณ์รับสัญญาณอื่นๆ ที่ปรากฏใน ส่วน Sinksของwpctl statusPipeWire
นี่ไม่ใช่เครื่องมือที่เหมาะสมสำหรับปัญหาการกำหนดเส้นทางทุกประเภท การเปลี่ยนแปลงนี้wpctl set-defaultจะเปลี่ยนเป้าหมายเริ่มต้นที่ใช้สำหรับสตรีมที่ต้องการการเชื่อมต่ออัตโนมัติ และไม่รับประกันว่าแอปพลิเคชันที่กำลังทำงานอยู่ทุกตัวจะย้ายสตรีมที่มีอยู่ทันที บางแอปพลิเคชันจะปฏิบัติตามค่าเริ่มต้นใหม่โดยอัตโนมัติ ในขณะที่บางแอปพลิเคชันอาจต้องย้ายสตรีมแยกต่างหากหรือรีสตาร์ทแอปพลิเคชัน
ตรวจสอบให้แน่ใจว่าเซสชัน PipeWire และ WirePlumber ระดับผู้ใช้ทำงานได้อย่างปกติ เอกสารอย่างเป็นทางการของ WirePlumber แนะนำให้ตรวจสอบ daemon ด้วยคำสั่ง ` wirewire.json` systemctl --user status wireplumberนอกจากนี้ Debian ยังแนะนำให้ใช้pipewire-audiometapackage บน Debian 12 และเวอร์ชันที่ใหม่กว่าเมื่อตั้งค่า PipeWire audio stack แบบสมบูรณ์
systemctl --user status wireplumber
systemctl --user status pipewire pipewire-pulse
หากwpctlไม่พบ ให้ติดตั้ง WirePlumber และส่วนประกอบเสียง PipeWire ตามปกติ แทนที่จะพยายามใช้ยูทิลิตี้มิกเซอร์ที่ไม่เกี่ยวข้องมาทดแทน:
sudo apt update
sudo apt install pipewire-audio wireplumber
อย่ารันwpctlด้วยsudoคำสั่ง `pipeWire` เพราะโดยปกติแล้ว PipeWire และ WirePlumber จะทำงานในเซสชันของผู้ใช้เดสก์ท็อป ดังนั้นคำสั่งควรเชื่อมต่อกับกราฟสื่อของผู้ใช้นั้น
วิ่ง:
wpctl status -n
ตัวเลือก นี้-nขอwpctlให้แสดงชื่อวัตถุแทนคำอธิบายที่เข้าใจง่าย ภายใต้Audio → Sinksให้จดชื่อของเอาต์พุตทั้งสองที่คุณต้องการสลับการใช้งาน เครื่องอาจแสดง sink ในตัวที่มีลักษณะคล้ายกับalsa_output.pci-0000_00_1f.3.analog-stereoและ sink บลูทูธที่ขึ้นต้นbluez_output.ด้วย
wpctl status -n: ระบุส่วนย่อยของชื่อที่เสถียรภายใต้หัวข้อ Sinks แทนที่จะคัดลอกรหัสตัวเลขลงในสคริปต์เลือกส่วนย่อยของชื่อไฟล์ที่มีลักษณะเฉพาะและตรงกับเอาต์พุตที่ต้องการเท่านั้น สำหรับการ์ดเสียงแบบติดตั้งในตัวalsa_output...ชื่อโหนดแบบเต็มมักเป็นตัวเลือกที่เหมาะสม สำหรับอุปกรณ์บลูทูธbluez_output.ส่วนย่อยที่สั้นกว่าจะสะดวกก็ต่อเมื่อคุณเชื่อมต่ออุปกรณ์รับเสียงบลูทูธเพียงตัวเดียวเป็นประจำ หากคุณเชื่อมต่อเอาต์พุตบลูทูธหลายตัวบ่อยๆ ให้ใช้ส่วนย่อยที่ยาวกว่าและเฉพาะเจาะจงสำหรับอุปกรณ์นั้นๆ
ก่อนเขียนสคริปต์สวิตช์ โปรดตรวจสอบ ID ใด ID หนึ่งที่แสดงโดยwpctl status -n:
wpctl inspect 45
แทนที่45ด้วย ID ปัจจุบันในระบบของคุณ มองหาคุณสมบัติเช่นnode.nameและmedia.classสำหรับเอาต์พุตการเล่นmedia.classควรระบุแหล่งรับสัญญาณเสียง ID ตัวเลขมีประโยชน์สำหรับการตรวจสอบและสำหรับset-defaultคำสั่งโดยตรง แต่สคริปต์ด้านล่างจะกำหนด ID ใหม่ทุกครั้งที่ทำงาน
คุณยังสามารถถาม WirePlumber ว่าอ่างล้างจานใดเป็นค่าเริ่มต้นโดยไม่ต้องทราบรหัสตัวเลขของอ่างล้างจานนั้นได้:
wpctl inspect @DEFAULT_AUDIO_SINK@
ตัวระบุพิเศษนี้@DEFAULT_AUDIO_SINK@ได้รับการบันทึกไว้ในเอกสารของ WirePlumber และจะถูกแปลงเป็นโหนดการเล่นเริ่มต้นปัจจุบันในระหว่างการทำงาน
หากจำเป็น ให้สร้างไดเร็กทอรีสำหรับไฟล์ปฏิบัติการส่วนตัว จากนั้นเปิดสคริปต์:
mkdir -p ~/.local/bin
nano ~/.local/bin/toggle-audio-output
วางโค้ดต่อไปนี้แล้วแทนที่SINK_Aด้วยSINK_Bส่วนต่างๆ จากwpctl status -nผลลัพธ์ของคุณเอง:
#!/usr/bin/env bash
set -euo pipefail
# Replace these with distinctive fragments from `wpctl status -n`.
SINK_A="alsa_output.pci-0000_00_1f.3.analog-stereo"
SINK_B="bluez_output."
find_sink_id() {
local needle="$1"
wpctl status -n | awk -v n="$needle" '
/Sinks:/ { in_sinks=1; next }
/Sources:/ { in_sinks=0 }
in_sinks && index($0, n) {
for (i=1; i<=NF; i++) {
if ($i ~ /^[0-9]+\.$/) {
gsub(/\./, "", $i)
print $i
exit
}
}
}'
}
current_name="$(
wpctl inspect @DEFAULT_AUDIO_SINK@ |
awk -F'= ' '/node.name/ {
gsub(/"/, "", $2)
print $2
exit
}'
)"
if [[ "$current_name" == *"$SINK_A"* ]]; then
target_pattern="$SINK_B"
elif [[ "$current_name" == *"$SINK_B"* ]]; then
target_pattern="$SINK_A"
else
# If the current default is neither target, switch to A first.
target_pattern="$SINK_A"
fi
target_id="$(find_sink_id "$target_pattern")"
if [[ -z "$target_id" ]]; then
printf 'No available sink matched: %s\n' "$target_pattern" >&2
exit 1
fi
wpctl set-default "$target_id"
printf 'Default audio sink changed to ID %s\n' "$target_id"
wpctl set-defaultใช้รหัสประจำตัวของวัตถุ PipeWire เป็นวัตถุในเซสชัน ดังนั้นการ treating รหัสประจำตัวดังกล่าว45เป็นตัวระบุอุปกรณ์ถาวรจึงไม่เหมาะสม สคริปต์จะจัดเก็บส่วนของชื่อโหนดที่สามารถจดจำได้แทน วิเคราะห์ส่วน Sinks ปัจจุบัน และดึงรหัสตัวเลขออกมาเฉพาะในขณะที่ทำการสลับเท่านั้น
สคริปต์จะขอ@DEFAULT_AUDIO_SINK@ชื่อนั้นnode.nameซึ่งจะหลีกเลี่ยงการพึ่งพาตำแหน่งของเครื่องหมายดอกจัน เมื่อพิจารณา ว่าwpctl statusอ่างล้างจานใดถูกเลือกอยู่ในขณะนี้ จากนั้นจะเปรียบเทียบชื่อนั้นกับSINK_AและSINK_B
บันทึกไฟล์ จากนั้นเรียกใช้คำสั่ง:
chmod +x ~/.local/bin/toggle-audio-output
~/.local/bin/toggle-audio-output
wpctl status -n
หากซิงค์เป้าหมายพร้อมใช้งาน สคริปต์ควรพิมพ์ ID ที่เลือกไว้ เรียกใช้สคริปต์อีกครั้ง และสคริปต์ควรเลือกซิงค์อื่นที่กำหนดค่าไว้ ตรวจสอบผลลัพธ์ด้วยwpctl status -nหรือโดยการตรวจ@DEFAULT_AUDIO_SINK@สอบ
wpctl status -nสอบว่าซิงค์ที่ต้องการได้ถูกตั้งค่าเป็นค่าเริ่มต้นแล้วเอกสารของ WirePlumber wpctl set-default IDระบุว่าการตั้งค่า sink หรือ source เป็นเป้าหมายเริ่มต้นนั้น ใน WirePlumber เวอร์ชันใหม่ ระบบจะจดจำการเลือกของผู้ใช้และอาจมีลำดับความสำคัญเหนือกว่าการเลือกอัตโนมัติตามลำดับความสำคัญ หากคุณต้องการให้ WirePlumber กลับไปใช้การเลือกเริ่มต้นอัตโนมัติในภายหลัง ให้ใช้คำสั่งต่อไปนี้:
wpctl clear-default
เมื่อการทดสอบเทอร์มินัลทำงานได้อย่างน่าเชื่อถือแล้ว ให้กำหนด/home/YOUR_USER/.local/bin/toggle-audio-outputคีย์ลัดให้กับโปรแกรมบนเดสก์ท็อป ควรใช้พาธแบบเต็ม (absolute path) แทนการใช้~พาธย่อย (parameter) เพราะโปรแกรมเรียกใช้คีย์ลัดบางตัวไม่ขยายคีย์ลัดของเชลล์ ลักษณะของคีย์ลัดจะขึ้นอยู่กับสภาพแวดล้อมของเดสก์ท็อป ดังนั้นการทดสอบที่สำคัญคือ สคริปต์ต้องทำงานได้อย่างถูกต้องจากเทอร์มินัลของผู้ใช้ทั่วไปก่อน
หากทางลัดทำงานได้แต่wpctlแจ้งว่าไม่สามารถเชื่อมต่อได้ อาจเป็นเพราะตัวเรียกใช้งานไม่ได้รับสภาพแวดล้อมเซสชันผู้ใช้ที่คาดหวังไว้ ตรวจสอบคำสั่งเดียวกันจากเทอร์มินัลภายในเซสชันแบบกราฟิก จากนั้นตรวจสอบกฎการเรียกใช้ทางลัดของสภาพแวดล้อมเดสก์ท็อป อย่าแก้ปัญหานี้โดยการเพิ่มคำนำหน้าสคริปต์ด้วยsudo.
เป้าหมายอาจตัดการเชื่อมต่อ ชื่อโหนดอาจเปลี่ยนไป หรือรูปแบบของคุณเฉพาะเจาะจงเกินไป ลองรันwpctl status -nใหม่และอัปเดตค่าที่เกี่ยวข้องSINK_AสำหรับSINK_Bบลูทูธ โปรดตรวจสอบให้แน่ใจว่าชุดหูฟังเชื่อมต่ออยู่และมีการเปิดใช้งานตัวรับสัญญาณเสียงก่อนเรียกใช้สคริปต์
นี่อาจเป็นเรื่องปกติ เอกสารต้นทางอธิบายset-defaultว่าเป็นการเลือกเป้าหมายสำหรับสตรีมใหม่ที่ต้องการการเชื่อมต่ออัตโนมัติ หากสตรีมที่มีอยู่ของแอปพลิเคชันใดแอปพลิเคชันหนึ่งยังคงอยู่บนปลายทางเดิม ให้หยุดและเริ่มเล่นใหม่ หรือเปิดแอปพลิเคชันนั้นอีกครั้ง หากคุณต้องการย้ายสตรีมที่มีอยู่โดยเฉพาะ ให้ดำเนินการเป็นงานกำหนดเส้นทางแยกต่างหาก แทนที่จะคิดว่าset-defaultมันจะรับประกันได้เสมอไป
ระบุให้SINK_Bละเอียดกว่านี้ รูปแบบทั่วไปเช่นนี้bluez_output.เหมาะสมเฉพาะเมื่อมีอุปกรณ์รับสัญญาณบลูทูธที่ตรงกันเพียงตัวเดียวเท่านั้น ใช้ชื่อโหนดแบบเต็มหรือส่วนตรงกลางที่ไม่ซ้ำกันเมื่อสามารถเชื่อมต่ออุปกรณ์ส่งสัญญาณไร้สายหลายตัวพร้อมกันได้
ตรวจสอบ:
systemctl --user status wireplumber
journalctl --user -u wireplumber
เอกสารต้นฉบับแนะนำsystemctl --user --now enable wireplumberให้ติดตั้ง daemon แต่ไม่ได้เปิดใช้งาน ในกรณีที่เดสก์ท็อป Debian ได้รับการกำหนดค่าไว้แล้ว ให้ตรวจสอบสาเหตุที่บริการผู้ใช้หยุดทำงานก่อนที่จะรีสตาร์ทระบบเสียงทั้งหมดซ้ำๆ
| การเผยแพร่ Debian | แพ็คเกจ WirePlumber | ผลกระทบในทางปฏิบัติของบทนี้ |
|---|---|---|
| Debian 12 (Bookworm) | 0.4.13 ในที่เก็บมาตรฐาน | ใช้เวิร์กโฟลว์ที่เข้ากันได้wpctl status -n, inspect, และset-defaultที่แสดงไว้ที่นี่ |
| เดเบียน 13 (ทริกซี) | 0.5.8 ในที่เก็บมาตรฐาน | สคริปต์เดียวกันนี้ยังคงใช้งานได้ และ WirePlumber เวอร์ชันใหม่กว่ายังมีการปรับปรุงพฤติกรรมการกำหนดค่าผ่าน CLI และ JSON อีกด้วย |
อย่าคัดลอกตัวอย่างการตั้งค่า WirePlumber 0.5 ไปใช้กับเวอร์ชัน 0.4 ที่เก่ากว่าโดยไม่ดูข้อมูลให้ครบถ้วน WirePlumber 0.5 ได้เปลี่ยนระบบการตั้งค่าไปแล้ว คู่มือนี้จึงหลีกเลี่ยงข้อจำกัดของเวอร์ชันดังกล่าวโดยใช้การดำเนินการผ่านบรรทัดคำสั่งแทนการใช้ไฟล์นโยบายแบบถาวร
systemctl --user status wireplumberแสดงให้เห็นว่าตัวจัดการเซสชันกำลังทำงานอยู่wpctl status -nแสดงรายการเอาต์พุตที่ต้องการทั้งสองรายการภายใต้ Sinkswpctl inspect @DEFAULT_AUDIO_SINK@ส่งคืนโหนดการเล่นปัจจุบันที่ถูกต้องสำหรับความหมายของคำสั่งและพฤติกรรมปัจจุบันของ WirePlumber โปรดดูคู่มือ wpctl อย่างเป็นทางการของ WirePlumberและคู่มือเริ่มต้นใช้งาน WirePlumber อย่างเป็นทางการสำหรับข้อมูลแพ็กเกจและการตั้งค่าเฉพาะสำหรับ Debian โปรดดูเอกสาร PipeWire ของ Debian หน้าแพ็กเกจ WirePlumber ของDebian 12และ หน้าแพ็กเก จWirePlumber ของ Debian 13
ดาวน์โหลด FlightGear ได้ฟรีจากเว็บไซต์ทางการ เปรียบเทียบแพ็กเกจสำหรับ Windows, macOS และ Linux ติดตั้งไฟล์ข้อมูล และเริ่มต้นการบินครั้งแรกของคุณ
OKSampler แปลงคลิป MP3 เป็นคีย์บนแป้นพิมพ์และสามารถเล่นเสียงวนซ้ำได้ เรียนรู้ว่าซอฟต์แวร์ฟรีรุ่นเก่านี้ทำอะไรได้บ้าง ฟีเจอร์เก่าๆ สิ้นสุดลงตรงไหน และควรตรวจสอบอะไรบ้างก่อนดาวน์โหลด
เปิด Google Tasks ในเบราว์เซอร์ เพิ่มทางลัด Chrome หรือเปิดใช้งานในรูปแบบแอป และจัดการรายการสิ่งที่ต้องทำตามวันที่ผ่านปฏิทินและ Gmail
ติดตั้งเกม Don't Starve Together เวอร์ชัน Linux ผ่าน Steam เริ่มเล่นในโลกใหม่ หรือเข้าร่วมกับเพื่อน ๆ โดยทำตามขั้นตอนการตั้งค่าและการแก้ไขปัญหาเหล่านี้
เรียนรู้วิธีเล่น DiRT Rally บน Linux หากคุณมีเกมนี้อยู่แล้วบน Steam: ติดตั้งเวอร์ชันสำหรับระบบ Linux โดยเฉพาะ เปิดใช้งาน และใช้ Proton เป็นตัวเลือกสำรองเท่านั้น
ติดตั้งเกม Squad บน Linux โดยใช้ Steam Play และ Proton จากนั้นติดตั้งเกม เลือกเครื่องมือตรวจสอบความเข้ากันได้ และแก้ไขปัญหาเกี่ยวกับการโกงเกม
ดาวน์โหลดและตรวจสอบไฟล์ ISO ของ LMDE 5 ที่จัดเก็บไว้ สร้าง USB ที่สามารถบูตได้ และเลือกการตั้งค่าการติดตั้งที่ปลอดภัย Elsie หมดอายุการใช้งานแล้ว โปรดดู LMDE เวอร์ชันปัจจุบัน
สร้าง USB สำหรับติดตั้ง Windows 11 บน Linux ด้วย Ventoy: ดาวน์โหลดไฟล์ ISO อย่างเป็นทางการ ติดตั้ง Ventoy อย่างปลอดภัย คัดลอกอิมเมจ และบูตไปยังพีซีเป้าหมาย
ติดตั้ง Wireshark บน Ubuntu, Debian, Fedora, Arch หรือ openSUSE โดยใช้คำสั่งแพ็กเกจปัจจุบัน จากนั้นกำหนดค่าการจับแพ็กเก็ตแบบเรียลไทม์ได้อย่างปลอดภัย
ติดตั้ง Devuan Excalibur จากไฟล์ ISO แบบ Live บนเดสก์ท็อป ตรวจสอบไฟล์ที่ดาวน์โหลด สร้าง USB ที่สามารถบูตได้ ป้องกันพาร์ติชั่นที่มีอยู่ และทำการติดตั้งให้เสร็จสมบูรณ์ด้วย Refracta Installer