Jak naprawić Zoom pod Linuksem – HOWTO

Zoom na Linuksa jest i generalnie działa. Można ponarzekać na wciąż rosnący rozmiar pakietów. Nie mogę znaleźć teraz porównania, ale pakiet instalacyjny w krótkim czasie podwoił swoją objętość. Jednak, skoro działa, to po co narzekać? Tyle, że czasami nie działa. W szczególności przy próbie annotate potrafi pokazywać czarny, pusty ekran. Przynajmniej u mnie.

Sprawdziłem na dwóch komputerach. Różne wersje Debiana, różne wersje Zooma. Wszędzie to samo – udostępnianie pulpitu działa, ale włączenie trybu annotate powodowało, że uczestnicy spotkania widzieli czarny ekran.

Po nieco przydługich poszukiwaniach udało mi się znaleźć rozwiązanie. Najpierw trzeba zainstalować xcompmgr, a następnie użyć go. Z odpowiednimi parametrami. Instalacja:

apt install xcompmgr

Użycie:

xcompmgr -o0.0

Po wydaniu polecenia, zarówno udostępnianie, jak i rysowanie działają bez problemu. Do czasu przerwania polecenia, oczywiście. Skutków ubocznych nie zauważyłem. Nie musiałem ponownie uruchamiać Zooma. Jak widać chodzi o ustawienia dotyczące przezroczystości. Skutków ubocznych nie zauważyłem. Po zakończeniu sesji zooma można zakończyć połączenie.

Oryginalny post z rozwiązaniem pochodzi z Reddita, a polecenie tam podane ma nieco więcej opcji.

Line-in line-out

Jak pisałem, terminal HP T630 ma interesujące rozwiązanie dotyczące portów line-in oraz line-out. Posiada jedno gniazdo, oznaczone na obydwa sposoby. Trzeba zatem jakoś wybrać funkcję tegoż gniazda. Ewentualnie zmienić tryb działania z line-in na line-out.

Ci, którzy opowiadają anegdotki o uruchamianiu dźwięku pod Linuksem mogą sobie dopisać ten przypadek do kolekcji[1]. Bowiem ani nie działało od kopa, ani rozwiązanie nie było proste, czy oczywiste. Na plus – było graficzne. Żadnej edycji plików konfiguracyjnych w ulubionym edytorze tekstowym. Ale po kolei…

Zaczęło się tak, że po instalacji systemu i środowiska graficznego włączyłem jakiś klip na YouTube w przeglądarce, by sprawdzić, czy wszystko działa płynnie. Obraz działał, ale dźwięku nie było. Na wszelki wypadek sprawdziłem, czy wieża jest włączona i nie jest wyciszona – nie była. Sprawdziłem też głośność w systemie – dźwięk nie był wyciszony. Widget sterował właściwym – na oko – urządzeniem. Uruchomiłem mikser i nawet pokazywało, że przeglądarka coś tam gra. Znaczy powinno grać. Tyle, że niczego nie było słychać.

Spojrzałem na urządzenia wyjściowe i od razu sprawa była jasna – dźwięk był kierowany na HDMI. A przecież mój monitor głośników nie ma. Zmieniam zatem wyjście i… zonk. Do wyboru miałem albo HDMI, albo gniazdo słuchawkowe. Dla przypomnienia – jest ono z przodu obudowy, więc kabel tam wpięty wyglądałby nieestetycznie. No ale dla testu można przepiąć… Zgodnie z przewidywaniami, po wpięciu w gniazdo słuchawkowe, wszystko działało. No dobrze, to gdzie się podział line-out?

Przejrzałem wszystkie opcje w mikserze. Parafrazując im bardziej Puchatek zaglądał w różne opcje, tym bardziej line-out nie było. W tym momencie przyszło mi do głowy, że pewnie to jakaś funkcja modułu odpowiadającego za obsługę dźwięku. Czyli pewnie wystarczy załadować moduł z odpowiednimi parametrami i dźwięk będzie. Nie wiem, czy bardziej wyszedłem z wprawy, bo dawno takich rzeczy nie robiłem, czy miałem pecha. W każdym razie modułów z snd w nazwie załadowanych było całkiem sporo. I jakoś wybierając co sensowniejsze z nazwy i uruchamiając modinfo nie zauważyłem stosownej opcji.

Pomyślałem, że na pewno nie jestem pierwszy z takim problemem i uruchomiłem wyszukiwarkę. Znalezienie stosownej frazy do wyszukiwarki nie jest proste. Tym bardziej, że nie bardzo mogłem się zdecydować, czy szukać konkretnie dla HP T630, czy dla układu obsługującego dźwięk, czy może ogólnie dla Linuksa.

Ostatecznie trafiłem na ten wpis opisujący jak zmienić funkcję portów pod Linuksem. Przy pomocy opisywanego programu hdajackretask pochodzącego z pakietu alsa-tools-gui można sobie wyklikać stosowne mapowanie line-in na line-out, zmienić mikrofon w wyjście audio itp. Oczywiście zadziała tylko dla programowalnych układów, dających taką możliwość. I tak, chodzi o parametry modułu jądra audio. Czyli nie ma magii, za to jest GUI.

[1] Swoją drogą  ciekaw jestem jak zmienia się to pod Windows. T630 sprzedawany był „bez systemu”, ale miał zainstalowany oryginalny, bodajże holenderski, Windows. Niestety, nie przewidziałem, że będzie taka ciekawostka do sprawdzenia i usunąłem go przy instalacji.

VSCodium na Debianie

Jak pisałem wcześniej, nadchodzi koniec edytora Atom. Z pewnych względów, na maszynie służbowej i tak zacząłem korzystać z Visual Studio Code . Dlatego postanowiłem przyspieszyć proces migracji także na prywatnej maszynie. VSC nie było złe, więc zgodnie z zapowiedzią dałem szansę VSCodium.

Czym jest VSCodium?

VSCodium to fork microsoftowego Visual Studio Code, zbudowany z otwartego kodu źródłowego, dostępny na wolnej licencji. Dodatkowo pozbawiony dodatków od Microsoft służących do zbierania telemetrii/śledzenia. Poza tym, wszystko powinno działać tak samo.

VSCodium logo
Źródło: https://vscodium.com/

Instalacja VSCodium

Na początek instalacja pod Debianem. Z tego co widzę, na Ubuntu będzie identycznie. Szczęśliwie dostępne jest repozytorium pakietów deb. Skorzystałem z opisu instalacji spod tego linka: https://www.linuxcapable.com/how-to-install-vscodium-on-debian-11-bullseye/. Wersja skrócona poniżej.

Dodajemy klucz GPG do zaufanych:

curl https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/vscodium.gpg

Dodajemy źródło pakietów:

echo "deb https://download.vscodium.com/debs vscodium main" > /etc/apt/sources.list.d/vscodium.list

Po tym zostaje już tylko aktualizacja danych o repozytoriach i instalacja pakietu codium:

apt update; apt install codium

Wtyczki z marketplace

Nieprzypadkowo napisałem, że wszystko powinno działać tak samo. Słowo powinno powinno dać do myślenia. Otóż po instalacji pozwoliłem sobie „ściągnąć” konfigurację, a w zasadzie używane wtyczki, z marketplace od kolegi z pracy, korzystającego z VSC. Mocno się zdziwiłem, bo większość potrzebnych wtyczek, tych od Microsoft, nie była w VSCodium dostępna do instalacji. Nie drążyłem wtedy tematu i po prostu zainstalowałem VSC.

Jednak po szybkim zbadaniu tematu okazuje się, że nie ma najmniejszego problemu z korzystaniem z marketplace Microsoft w VSCodium. Zgodnie z tym, co piszą w dokumentacji, wystarczy w pliku

~/.config/VSCodium/product.json

dodać stosowną zawartość, czyli:

{
  "extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items",
    "controlUrl": "",
    "recommendationsUrl": ""
  }
}

I możemy cieszyć się dostępem do wtyczek zupełnie jak w Visual Studio Code.

Wtyczki

Nie ukrywam, że bardziej podobało mi się działanie wtyczek w Atomie. Na przykład isort wywołany tamże po prostu sortował wszystkie importy. W przypadku VSC nie ma tak dobrze. Z tego co udało mi się znaleźć, można „naprawić” pojedynczy import.

Istnieje obejście, które jest podpowiadane w opisie konfiguracji wtyczki, czyli dodanie do settings odpowiedniej sekcji. Jest to nieco nieintuicyjne, bo w czytamy to będąc w… ustawieniach, czyli settings. Chodzi jednak o inne settings. Jak znalazłem pod tym linkiem, trzeba zmienić zawartość pliku

~/.config/Code/User/settings.json

Na razie tyle. Z doświadczeń w pracy wynika, że spokojnie da się żyć z VSC zamiast Atoma. Na razie pracuje mi się w VSC gorzej, ale raczej chodzi o drobną zmianę przyzwyczajeń i dokładniejsze poznanie nowego programu. Z wyboru zamiennika jestem wstępnie zadowolony.