Descărcați FlightGear gratuit: Ghid oficial de instalare
Descarcă FlightGear gratuit de pe site-ul oficial. Compară pachetele Windows, macOS și Linux, instalează fișierele de date și începe primul tău zbor.
Cea mai simplă metodă fiabilă de a comuta ieșirile PipeWire dintr-un script pe Debian este să utilizați wpctl, instrumentul din linia de comandă WirePlumber: identificați cele două noduri sink care vă interesează, inspectați sink-ul implicit curent și apelați wpctl set-default IDcelălalt. Acest lucru este preferabil codării hard a unui ID numeric de nod, deoarece ID-urile obiectului PipeWire se pot schimba atunci când dispozitivele se deconectează, se reconecta sau sesiunea repornește.
Acest ghid folosește o funcție de comutare pentru două dispozitive — de exemplu, difuzoare pentru laptop și căști Bluetooth — și menține în mod deliberat logica compatibilă atât cu Debian 13 (Trixie), cât și cu Debian 12 (Bookworm) actual. Începând cu octombrie 2026, paginile de pachete Debian listează WirePlumber 0.5.8 în Debian 13 și 0.4.13 în Debian 12. Versiunile mai noi de WirePlumber oferă funcții suplimentare de listare, dar wpctl status -n, wpctl inspect, și wpctl set-defaultsunt numitorul comun necesar aici.
Folosește această abordare atunci când PipeWire gestionează deja sunetul desktopului și dorești o comandă rapidă de la tastatură, un launcher, un alias de shell sau o tastă rapidă pentru a alterna între două ieșiri. Funcționează bine pentru o ieșire analogică încorporată plus DAC USB, monitor HDMI, căști Bluetooth sau alt receptor care apare în secțiunea Receptoare din wpctl status.
Nu este instrumentul potrivit pentru fiecare problemă de rutare. wpctl set-defaultmodifică ținta implicită utilizată pentru fluxurile care necesită conexiune automată. Nu promite că fiecare aplicație care rulează deja va migra imediat un flux existent. Unele aplicații urmează automat noua implicită; altele pot necesita mutarea separată a fluxului sau repornirea aplicației.
Confirmați că sesiunea PipeWire și WirePlumber la nivel de utilizator este sănătoasă. Documentația oficială WirePlumber recomandă verificarea daemonului cu systemctl --user status wireplumber. Debian recomandă, de asemenea, pipewire-audiometapachetul pe Debian 12 și versiuni mai noi atunci când configurați o stivă audio PipeWire completă.
systemctl --user status wireplumber
systemctl --user status pipewire pipewire-pulse
Dacă wpctllipsește, instalați WirePlumber și componentele audio normale PipeWire în loc să încercați să înlocuiți cu un utilitar mixer fără legătură:
sudo apt update
sudo apt install pipewire-audio wireplumber
Nu rulați wpctlcu sudo. PipeWire și WirePlumber funcționează în mod normal în sesiunea utilizatorului desktop, așadar comanda ar trebui să se conecteze la graficul media al utilizatorului respectiv.
Aleargă:
wpctl status -n
Opțiunea -nsolicită wpctlafișarea numelor obiectelor în loc de descrieri ușor de înțeles. Sub Audio → Sinks (Receptoare) , notați numele celor două ieșiri pe care doriți să le comutați. O mașină ar putea afișa un receptor încorporat asemănător cu alsa_output.pci-0000_00_1f.3.analog-stereoși un receptor Bluetooth care începe cu bluez_output..
wpctl status -n: identificați fragmente de nume stabile în secțiunea Sinks, în loc să copiați ID-uri numerice în script.Alegeți un fragment suficient de distinct pentru a se potrivi doar cu ieșirea dorită. Pentru o placă încorporată, alsa_output...numele complet al nodului este de obicei o alegere rezonabilă. Pentru un dispozitiv Bluetooth, un bluez_output.fragment mai scurt este convenabil numai dacă în mod normal aveți conectat un singur receptor audio Bluetooth. Dacă conectați frecvent mai multe ieșiri Bluetooth, utilizați un fragment mai lung, unic pentru dispozitivul dorit.
Înainte de a programa switch-ul, verificați unul dintre ID-urile afișate de wpctl status -n:
wpctl inspect 45
Înlocuiți 45cu ID-ul curent de pe sistemul dvs. Căutați proprietăți precum node.nameși media.class. Pentru o ieșire de redare, media.classar trebui să identifice un receptor audio. ID-ul numeric este util pentru inspecție și pentru set-defaultcomanda imediată, dar scriptul de mai jos rezolvă un ID nou de fiecare dată când rulează.
De asemenea, puteți întreba WirePlumber care este chiuveta implicită în prezent, fără a cunoaște ID-ul său numeric:
wpctl inspect @DEFAULT_AUDIO_SINK@
Identificatorul special @DEFAULT_AUDIO_SINK@este documentat de WirePlumber și se rezolvă în timpul execuției ca nodul de redare implicit curent.
Creați un director executabil personal, dacă este necesar, apoi deschideți scriptul:
mkdir -p ~/.local/bin
nano ~/.local/bin/toggle-audio-output
Lipiți următorul cod și înlocuiți SINK_Ași SINK_Bcu fragmente din propria wpctl status -nieșire:
#!/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.ID-urile obiectelor PipeWire sunt obiecte de sesiune, așadar tratarea unui ID, cum ar fi 45un identificator permanent de dispozitiv, este fragilă. Scriptul stochează în schimb fragmente de nume de nod recognoscibile, analizează secțiunea Sinks curentă și extrage ID-ul numeric doar în momentul comutării.
Scriptul solicită @DEFAULT_AUDIO_SINK@numele său node.name. Aceasta evită dependența de plasarea vizuală a unui asterisc în wpctl statusatunci când se stabilește ce sink este selectat în prezent. Apoi compară acel nume cu SINK_Ași SINK_B.
Salvați fișierul, apoi executați:
chmod +x ~/.local/bin/toggle-audio-output
~/.local/bin/toggle-audio-output
wpctl status -n
Dacă sink-ul țintă este disponibil, scriptul ar trebui să afișeze ID-ul selectat. Rulați-l din nou și ar trebui să aleagă celălalt sink configurat. Confirmați rezultatul cu wpctl status -nsau inspectând @DEFAULT_AUDIO_SINK@.
wpctl status -ndacă sink-ul dorit este acum implicit.WirePlumber documentează wpctl set-default IDsetarea unui receptor sau a unei surse ca țintă implicită. În WirePlumber modern, acea selecție a utilizatorului este memorată și poate depăși selecția automată bazată pe prioritate. Dacă doriți ulterior ca WirePlumber să revină la selecția automată implicită, utilizați:
wpctl clear-default
Odată ce testul terminalului este fiabil, asociați-l /home/YOUR_USER/.local/bin/toggle-audio-outputcu o comandă rapidă de pe desktop. Folosiți calea absolută mai degrabă decât, ~deoarece unele programe de lansare a comenzilor rapide nu extind comanda rapidă din shell. Interfața exactă a comenzii rapide depinde de mediul desktop, așa că testul important este ca scriptul să funcționeze corect mai întâi dintr-un terminal de utilizator normal.
Dacă o comandă rapidă rulează, dar wpctlraportează că nu se poate conecta, este posibil ca programul de lansare să nu moștenească mediul de sesiune al utilizatorului așteptat. Verificați aceeași comandă dintr-un terminal din sesiunea grafică, apoi examinați regulile de execuție a comenzilor rapide din mediul desktop. Nu rezolvați această problemă adăugând scriptului prefixul sudo.
Probabil că ținta este deconectată, numele nodului său s-a schimbat sau modelul este prea specific. Executați wpctl status -ndin nou și actualizați valoarea corespunzătoare SINK_Asau SINK_B. Pentru Bluetooth, confirmați că setul cu cască este conectat și a expus un receptor audio înainte de a invoca scriptul.
Acest lucru poate fi normal. Documentația din amonte descrie set-defaultselectarea țintei pentru fluxurile noi care necesită conectare automată. Dacă fluxul existent al unei anumite aplicații rămâne pe vechiul receptor, opriți și reporniți redarea sau redeschideți aplicația. Dacă trebuie în mod specific să migrați fluxurile existente, tratați acest lucru ca pe o sarcină de rutare separată, în loc să presupuneți că set-defaulto garantează.
Faceți SINK_Bmai specific. Un model generic, cum ar fi bluez_output.este potrivit doar atunci când este prezent un receptor Bluetooth corespunzător. Folosiți numele complet al nodului sau un fragment unic din mijloc atunci când pot fi conectate simultan mai multe ieșiri wireless.
Verifica:
systemctl --user status wireplumber
journalctl --user -u wireplumber
Documentația anterioară recomandă systemctl --user --now enable wireplumbersituațiile în care daemonul este instalat, dar nu este activat. Pe un desktop Debian deja configurat, investigați de ce serviciul utilizator s-a oprit înainte de a reporni în mod repetat întreaga stivă audio.
| Lansare Debian | Pachet WirePlumber | Implicații practice pentru acest scenariu |
|---|---|---|
| Debian 12 (Cititor) | 0.4.13 în depozitul standard | Utilizați fluxul de lucru compatibil wpctl status -n, inspect, și set-defaultafișat aici. |
| Debian 13 (Trixie) | 0.5.8 în depozitul standard | Același script funcționează; versiunea mai nouă a WirePlumber are, de asemenea, un comportament de configurare extins bazat pe CLI și JSON. |
Nu copiați orbește exemple de configurare WirePlumber 0.5 într-o instalare mai veche, versiunea 0.4. WirePlumber 0.5 și-a modificat sistemul de configurare; acest tutorial evită această limită de versiune folosind operațiuni din linia de comandă în loc de fișiere de politici persistente.
systemctl --user status wireplumberarată managerul de sesiuni în funcțiune.wpctl status -nlistează ambele ieșiri dorite în secțiunea Sinks.wpctl inspect @DEFAULT_AUDIO_SINK@returnează un nod de redare curent valid.Pentru semantica comenzilor și comportamentul actual al WirePlumber, consultați manualul oficial WirePlumber wpctl și ghidul oficial de introducere WirePlumber . Pentru informații despre pachete și configurare specifice Debian, utilizați documentația Debian PipeWire , pagina pachetului Debian 12 WirePlumber și pagina pachetului Debian 13 WirePlumber .
Descarcă FlightGear gratuit de pe site-ul oficial. Compară pachetele Windows, macOS și Linux, instalează fișierele de date și începe primul tău zbor.
Deschide Google Tasks într-un browser, adaugă o comandă rapidă pentru Chrome sau o lansare în stilul aplicației și gestionează activitățile de făcut în avans prin Calendar și Gmail.
OKSampler mapează clipuri MP3 pe tastele tastaturii și poate reda audio în buclă. Află ce face software-ul gratuit vechi, unde se termină funcțiile sale vechi și ce trebuie să verifici înainte de descărcare.
Instalează versiunea Linux a jocului Don't Starve Together prin Steam, creează o lume sau alătură-te prietenilor urmând acești pași de configurare și depanare.
Configurează Squad pe Linux cu Steam Play și Proton, instalează jocul, alege un instrument de compatibilitate și depanează problemele anti-cheat.
Descărcați și verificați fișierul ISO LMDE 5 arhivat, creați un USB bootabil și alegeți setările de instalare sigure. Elsie a ajuns la sfârșitul duratei de viață; consultați versiunea curentă a LMDE.
Creați un USB de instalare Windows 11 pe Linux cu Ventoy: obțineți fișierul ISO oficial, instalați Ventoy în siguranță, copiați imaginea și porniți PC-ul țintă.
Instalați Wireshark pe Ubuntu, Debian, Fedora, Arch sau openSUSE cu comenzile actuale ale pachetului, apoi configurați captura de pachete live în siguranță.
Învață cum să joci DiRT Rally pe Linux dacă îl deții deja pe Steam: instalează versiunea nativă, lansează-l și folosește Proton doar ca soluție de rezervă.
Instalați Devuan Excalibur din fișierul ISO Desktop Live. Verificați descărcarea, creați un USB bootabil, protejați partițiile existente și finalizați configurarea cu Refracta Installer.