Manjaro 18 XFCE: brak dźwięku "logout".

Jesteś nowy na forum? Przeczytaj ...

Home Fora Środowiska graficzne XFCE Manjaro 18 XFCE: brak dźwięku "logout".

Oglądasz 6 posty - 1 do 6 (z 6 ogółem)
  • Autor
    Posty
  • #8700
    Cenart
    Forumowicz

    Witajcie. Szukam pomocy w rozwiązaniu znanego problemu XFCE, tzn. braku wielu dźwięków out-of-the box.
    Poradziłem sobie z tym po za jednym: brak mi dźwięku wylogowania. Mam różne dźwięki ale tego nie mam a podobno da się to zrobić.
    Opieram się na rozwiązaniu opisanym tu: https://forum.xfce.org/viewtopic.php?id=8618 -> strona 3.
    Co wykonałem:
    – zrobiłem kopię pliku xinitrc -> aby było do czego wracać
    – w Thunar Root: otwarłem plik xinitrc, w wierszu 111 wpisałem podany wpis:
    # Cleanup after the session if desired
    test -r $HOME/.logout && . $HOME/.logout ” + w wierszu niżej dałem „fi”
    – próbowałem utworzyć wskazany plik wykonywalny w ~/ , o nazwie „.logout” ale w terminalu wyrzucało komendy o braku takiego polecenia -> i na tym utknąłem. Zapewne źle to zrobiłem.
    Prośba jest o:
    1. weryfikację prawidłowości zmiany w pliku „xinitrc”
    2. poradę jak utworzyć wskazany plik wykonywalny .logout, o treści:
    #!/bin/bash
    play /path/to/logout/sound/file
    Proszę o pomoc w wyjaśnieniu i rozwiązaniu problemu. Z góry wielkie dzięki.

    #8709
    Avatar photoazja
    Moderator

    mój Xfce jest sound-free i jest z tego powodu szczęśliwy ;D
    jeżeli masz komunikat o błędzie, spowodowanym nieprawidłowym poleceniem, to najwyraźniej próbowałeś wykonać komendę, której system wykonać nie mógł. Napisz, co to było.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #8721
    Cenart
    Forumowicz

    mój Xfce jest sound-free i jest z tego powodu szczęśliwy ;D
    jeżeli masz komunikat o błędzie, spowodowanym nieprawidłowym poleceniem, to najwyraźniej próbowałeś wykonać komendę, której system wykonać nie mógł. Napisz, co to było.

    Witaj.Chwilę mnie nie było.
    Tak to wykonałem:
    1. w Thunar Root: otwarłem plik xinitrc, w wierszu 111 wpisałem podany wpis:
    # Cleanup after the session if desired
    test -r $HOME/.logout && . $HOME/.logout ” + w wierszu niżej dałem „fi” -> wcześniej załączyłem screen tego pliku przed i po zmianie aby było widać jak to zapisałem, bo nie wiem czy zrobiłem to poprawnie
    2. utworzyłem plik: logout.ini ale nie wiedziałem gdzie go mam umieścić więc dałem do /home/domek/
    3. potem wykonałem takie komendy jak na screenie
    Po tych manipulacjach wylogowanie czy restart: nie dały dźwięku wylogowania.
    Obecnie stan jest taki: do czasu uzyskania pomocy wycofałem te manipulacje do stanu pierwotnego.

    #8727
    Avatar photoazja
    Moderator

    na początek, w kwestii formalnej: używaj dokładnych nazw plików i ścieżek, w jakich się znajdują, np:
    /etc/xdg/xfce4/xinitrc
    albo
    ~/.xinitrc
    bo inaczej narażasz się na brak odpowiedzi, spowodowany zniechęceniem; albo nieprawidłową odpowiedź, ze względu na nietrafione domysły.

    co do istoty rzeczy, to:

    # nie do końca rozumiem znaczenia wpisu:

    /etc/xdg/xfce4/xinitrc
    ---------------------------------
    test -r $HOME/.logout && . $HOME/.logout

    dlatego ten wątek pominę.

    # umiejscowienie tego wpisu jest ciut tajemnicze. Zauważ, że w źródle, z którego korzystasz, jest napisane:
    ’add in around line 111 after xfce4-session is run and after the „fi” statement following it’
    AROUND line, a nie AT line.

    # Jak dla mnie, to należy:
    dokonać wpisu:

    /etc/xdg/xfce4/xinitrc
    ---------------------------------
    # Cleanup after the session if desired
    test -r $HOME/.logout && . $HOME/.logout

    OKOŁO wiersza 111, NIE W NIM;
    po uruchomieniu xfce4-session i poleceniu 'fi’, czyli:

    /etc/xdg/xfce4/xinitrc
    ---------------------------------
    (...)
    
    # run xfce4-session if installed
    if which xfce4-session >/dev/null 2>&1; then
    
      # check if we start xfce4-session with ck-launch-session. this is only
      # required for starting from a console, not a login manager
      if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then
        if which ck-launch-session >/dev/null 2>&1; then
          ck-launch-session xfce4-session
        else
          echo
          echo "You have tried to start Xfce with consolekit support, but"
          echo "ck-launch-session is not installed."
          echo "Aborted startup..."
          echo
    
          exit 1
        fi
      else
        # start xfce4-session normally
        xfce4-session
      fi
    
    ##################################################################
    ###   MOIM ZDANIEM, TO JEST WŁAŚCIWE MIEJSCE   ###################
    ##################################################################
    
      exit 0
    fi
    
    (...)

    utworzyć plik (którego zapewne nie ma) i dokonać wpisu:

    ~/.xinitrc
    ---------------------------------
    #!/bin/bash
    play /path/to/logout/sound/file

    gdzie '/path/to/logout/sound/file’, to ścieżka do pliku dźwiękowego, jaki ma być grany w trakcie wylogowywania. Trzeba również rozwiązać problem polecenia 'play’ – ja czegoś takiego nie mam i Ty również, stąd komunikat błędu. Potrzebne byłoby jakieś polecenie, które można umieścić w skrypcie i które odtworzy plik dźwiękowy.
    nadać ~/.xinitrc prawo wykonania (execute);
    restart!

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #8728
    Cenart
    Forumowicz

    Azja, przepraszam za popełnione błędy i dzięki za zainteresowanie moim tematem. Postaram się pamiętać aby być bardziej precyzyjnym.
    Zapoznałem się z tym co napisałeś/ pokazałeś i widzę to tak:
    1. edytuję plik: /etc/xdg/xfce4/xinitrc i robię w nim wpis o poniższej treści w polu które wskazałeś:
    # Cleanup after the session if desired
    test -r $HOME/.logout && . $HOME/.logout

    2. w Systemie plików tworzę plik ukryty: ~/.xinitrc i robię w nim wpis o poniższej treści:
    #!/bin/bash
    play /path/to/logout/sound/usr/share/sounds/Borealis/stereo/desktop-logout.ogg

    (gdzie usr/share/sounds/Borealis/stereo/desktop-logout.ogg to moja ścieżka do dźwięku wylogowania)

    3. jakie nadać rozszerzenie dla utworzonego pliku ~/.xinitrc ? Czy „ini” czy „sh”?
    Jak rozumiem ten plik ma być ukryty w katalogu głównym czyli System plików…

    4. czy nadanie execute dla pliku: ~/.xinitrc oznacza: prawoklik -> właściwości -> uprawnienia -> zaznaczyć „Zezwolenie na uruchamianie jako program” ?

    #8729
    Avatar photoazja
    Moderator

    ad.1 – Wskazane przeze mnie miejsce jest tylko prawdopodobnym. Biegli w skryptologi musieliby wypowiedzieć się, czy taki wpis, w tym miejscu, ma sens. Przy okazji, bądź ostrożny podczas edycji plików systemowych, cobyś sobie nie uceglił systemu.

    ad.2 – Jeżeli czegoś nie rozumiesz, bo (na przykład) nie czujesz się pewnie w obcym języku, to pisz. /path/to/logout/sound znaczy tyle, co /ścieżka/do/wylogowanie/dźwięk i oznacza przykładową/zastępczą ścieżkę do pliku (jako przykład). Zamiast tego, podstawiasz swoją, w tym przypadku:
    /usr/share/sounds/Borealis/stereo/desktop-logout.ogg
    (z ukośnikiem na początku). Nadal nierozwiązanym problemem jest polecenie ’play’. Zapewne chodzi o program z pakietu community/sox. Zainstaluj go, za pomocą programu graficznego, albo z konsoli pamac install sox.

    ad.3 – Ukrytość realizujemy poprzez kropkę na początku nazwy (jest ona integralną częścią tej nazwy). W tym przypadku, nie musimy odnosić się do niewidzialności, bo plik MUSI mieć taką nazwę, jaką musi, czyli ~/.xinitrc i już. Niewidzialność nadajesz mu poprzez kropkę na początku nazwy – nic więcej.
    Co do rozszerzenia, to węszę windowsowca (bez urazy, większość od tego zaczyna) z niewielkim stażem w systemach unix’owych. Owszem, rozszerzenia występują, ale nie, są obligatoryjne, tylko opcjonalne (chociaż powszechnie stosowane, w przypadku popularnych formatów plików). Jeżeli mówisz o nazwie, to miej na myśli CAŁĄ nazwę, łącznie z rozszerzeniem i uwzględnieniem wielkości liter. jeżeli plik ma nazywać się .xinitrc, to znaczy, że tak ma się nazywać i o jakimkolwiek rozszerzeniu nie ma mowy.
    Jeżeli ktoś pisze ~/.xinitrc, to znaczy, że plik leży w jego katalogu domowym (~), czyli (przykład) /home/cenart/. Katalog główny, to katalog wszystkich katalogów /.

    ad.4 – jeżeli robisz, to z narzędzia graficznego, to – tak, zgadza się. Jeżeli z konsoli, to chmod +x ~/.xinitrc

    W zasadzie, teoretycznie, powinienem odesłać Cię do źródeł z podstawami, bo nie w tym wątku miejsce na takie rozważania, ale mam nadzieję, że Inni wybaczą mi te dygresje, poczynione w napadzie dobrej woli :-)

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

Oglądasz 6 posty - 1 do 6 (z 6 ogółem)
  • Musisz być zalogowany aby odpowiedzieć w tym wątku.