Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-07-06 13:05:54

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

[SOLVED] Hibernacja i problem z volumeicon

Sprawa wygląda tak:

Odpalam hibernację, volumeicon jest ubijany , pulse jest ubijany, maszyna się wyłącza. Po włączeniu moduły od dźwięku są przeładowywane pulse wstaje, volumeicon pozornie też ale reszta usług w skryptach pm-utils się zawiesza np. fancontrol (wiatrak nie zwalnia).

Szukając przyczyny, w logu pm-suspend.log widnieje taka linijka:

Kod:

+ /etc/pm/sleep.d/10_sound-apps thaw hibernate

(volumeicon:10727): Pango-WARNING **: error opening config file '/root/.config/pango/pangorc': Permission denied

Nie wiem skąd tam się wziął root bo skrypt skrypt wygląda tak:

Kod:

#!/bin/bash
case "$1" in
    hibernate|suspend)
        pkill amarok
        pkill volumeicon
        su morfik -c "pulseaudio -k"
        sleep 5
       ;;
    thaw|resume)
        su morfik -c "pulseaudio -D"
        sleep 1
        su morfik -c "volumeicon"
       ;;
    *) exit $NA
       ;;
 esac

W ps widnieje coś takiego:

Kod:

root:~# ps -eo "%mem pid user args" | grep volume
 0.1 10726 root     su morfik -c volumeicon
 0.9 10727 morfik   volumeicon

I dla porównania pulse, który jest przecie odpalany w ten sam sposób:

Kod:

root:~# ps -eo "%mem pid user args" | grep pulse
 0.5 10718 morfik   pulseaudio -D
 0.2 10723 morfik   /usr/lib/pulseaudio/pulse/gconf-helper

Oba polecenia zostały wydane zanim skrypty z pm-utils się wykonały -- zanim pm-hibernate oddał terminal.

Ubicie volumeicon (prawym na ikonce > quit) "wznawia" wykonywanie pozostałych skryptów i wszystko jest ok. Ale to ubija oba procesy od volumeicon.

Ktoś wie czemu tam jest?

Kod:

root     su morfik -c volumeicon

Ostatnio edytowany przez morfik (2013-07-06 22:13:54)

Offline

 

#2  2013-07-06 13:23:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED] Hibernacja i problem z volumeicon

A po co tobie volumeicon do PA, jeśli PA ma własne PavuCośtam?
Volumeicon jest do Alsy, a przy PA nie ma już Alsy, Alsa jest tytko
tymczasowym sterownikiem, bo ten wredny  LT nie chce przerobić  kernela, żeby był zgodny z Pulseaudio.

Ale kiedy LT dostrzeże swój błąd i przeprosi na kolanach twórców PA, to wtedy Linux wreszcie będzie miał nowoczesny dźwięk dala głuchoniemych, a ja wreszcie przekonam się do *BSD.. :D

Z błędu wynika, ze volueicon łapie zmienną $HOME roota, pomimo su, i dlatego chce konfigu z folderu $HOME/.config/pango - czyli w tym przypadku /root/.config/pango.
su zmienia użytkownika, ale nie zmienia zmiennych systemowych.

Spróbuj

Kod:

sudo -u morfik volumeicon

Pod warunkiem, ze w sudoers masz ustawione:

Kod:

Defaults:ALL  env_reset
Defaults:ALL  always_set_home

Możesz też podać zmienną $HOME w poleceniu su morfik
np

Kod:

su morfik  HOME="/home/morfik"  volumeicon

lub:

Kod:

sudo -u morfik    HOME="/home/morfik"  volumeicon

czy  jakoś podobnie.

Popróbuj kilka wersji, któraś kombinacja powinna zaskoczyć.

A poza tym pm_utils to są skrypty powloki, wieć dalsze wykonanie  skrypta czeka,
aż volumeicon się zakończy i zwróci status wykonania.
Żeby nie czekał, tylko robił co trzeba, spróbuj

Kod:

...voluemicon &

Albo poszukaj innego sposobu, osobiście nie wiem, jak odpalić voluemicon, żeby chodził po zamknięciu basha, chyba żeby użyć nohup.
Inne opcje odpalenia procesu, żeby przeżył ubicie powłoki, pewnie też istnieją, ale o to pytałbym przede wszystkim azhaga.

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2013-07-07 12:02:46)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2013-07-06 14:59:29

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Hibernacja i problem z volumeicon

Na openboxie w titn2 panelu nie ma żadnego głośniczka. Za pomocą volumeicon sobie wywołuję mixer pulse -- pavucontrol . Ponadto, ten głośnik pokazuje mi poziom głośności, no i opcjonalnie zarządza klawiszami od mute, ściszanie, zgłaśnianie . Volumeicon działa całkiem dobrze, tylko dziwnie się blokuje przy odhibernowaniu systemu.

Na wszelki wypadek usunąłem:

Kod:

alias su='su -'

z /home/morfik/.bashrc ale to nic nie zmieniło.

Sposób z HOME="/home/morfik" w ogóle nie działa albo coś robię źle. W każdym razie, nie ważne jak to wpisze, ciągle się wiesza, tylko ps się zmienia:

Kod:

root:~# ps -eo "%mem pid user args" | grep volume
 0.1 17989 root     su morfik -c volumeicon
 1.0 17990 morfik   volumeicon  

root:~# ps -eo "%mem pid user args" | grep volume          
 0.1 22538 root     su HOME=/home/morfik  morfik -c volumeicon
 0.9 22539 morfik   volumeicon

root:~# ps -eo "%mem pid user args" | grep volume
 0.1 15548 root     su morfik HOME=/home/morfik -c volumeicon
 0.9 15549 morfik   volumeicon

root:~# ps -eo "%mem pid user args" | grep volume
 0.1 26381 root     su --preserve-environment morfik -c volumeicon
 0.8 26382 morfik   volumeicon

root:~# ps -eo "%mem pid user args" | grep volume
 0.1 27879 root     su morfik --preserve-environment -c volumeicon
 0.8 27880 morfik   volumeicon

W przypadkach bez dodawania -c zostawiając jedynie volumeicon , wszystko jedno czy w "" czy bez , volumeicon się nie odpala w ogóle.

W przypadku sudo jest ten sam scenatiusz. Dodałem te dwie linijki:

Kod:

Defaults:ALL  env_reset
Defaults:ALL  always_set_home

Nie wiem czy coś jeszcze tam trzeba dodać, w każdym razie cały plik wygląda tak:

Kod:

## sudoers file.
##
## This file MUST be edited with the 'visudo' command as root.
## Failure to use 'visudo' may result in syntax or file permission errors
## that prevent sudo from running.
##
## See the sudoers man page for the details on how to write a sudoers file.
##

##
## Host alias specification
##
## Groups of machines. These may include host names (optionally with wildcards),
## IP addresses, network numbers or netgroups.
# Host_Alias    WEBSERVERS = www1, www2, www3

##
## User alias specification
##
## Groups of users.  These may consist of user names, uids, Unix groups,
## or netgroups.
# User_Alias    ADMINS = millert, dowdy, mikef

##
## Cmnd alias specification
##
## Groups of commands.  Often used to group related commands together.
# Cmnd_Alias    PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
#                 /usr/bin/pkill, /usr/bin/top

##
## Defaults specification
##
## You may wish to keep some of the following environment variables
## when running commands via sudo.
##
## Locale settings
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
##
## Run X applications through sudo; HOME is used to find the
## .Xauthority file.  Note that other programs use HOME to find   
## configuration files and this may lead to privilege escalation!
# Defaults env_keep += "HOME"
##
## X11 resource path settings
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
##
## Desktop path settings
# Defaults env_keep += "QTDIR KDEDIR"
##
## Allow sudo-run commands to inherit the callers' ConsoleKit session
# Defaults env_keep += "XDG_SESSION_COOKIE"
##
## Uncomment to enable special input methods.  Care should be taken as
## this may allow users to subvert the command being run via sudo.
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Uncomment to enable logging of a command's output, except for
## sudoreplay and reboot.  Use sudoreplay to play back logged sessions.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!/sbin/reboot !log_output

Defaults:ALL  env_reset
Defaults:ALL  always_set_home

##
## Runas alias specification
##

##
## User privilege specification
##
root ALL=(ALL) ALL

## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

## Uncomment to allow members of group sudo to execute any command
# %sudo    ALL=(ALL) ALL

## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
# Defaults targetpw  # Ask for the password of the target user
# ALL ALL=(ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'

## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /etc/sudoers.d

# Users in the truecrypt group are allowed to run TrueCrypt as root.
%truecrypt ALL=(root) NOPASSWD:/usr/bin/truecrypt

W auth.log jest:

Kod:

Jul  6 14:35:33 morfikownia sudo:     root : TTY=pts/0 ; PWD=/home/morfik ; USER=morfik ; COMMAND=/usr/bin/volumeicon
Jul  6 14:35:33 morfikownia sudo: pam_unix(sudo:session): session opened for user morfik by morfik(uid=0)

I wisi tak jak w przypadku su.

Nie wiem czemu pulse bez problemu startuje, a ten volumeicon ma problemy.

Offline

 

#4  2013-07-06 14:59:47

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: [SOLVED] Hibernacja i problem z volumeicon

Jacekalex napisał(-a):

Inne opcje odpalenia procesu, żeby przeżył ubicie powłoki, pewnie też istnieją, ale o to pytałbym przede wszystkim azhaga.

"&" wystarczy.


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#5  2013-07-06 15:29:40

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Hibernacja i problem z volumeicon

Żadnego polecenia nie idzie wydać przez su user. Sprawdziłem jak wygląda sprawa przy odpalaniu normlanie z wykorzystaniem su user:

Kod:

morfik:~$ su morfik -c geany
Password:

I tutaj też jest tak samo: xD

Kod:

morfik:~$ ps -eo "%mem pid user args" | grep geany
 0.1 12285 root     su morfik -c geany
 1.7 12292 morfik   geany

To tak powinno wyglądać, żeby ten pierwszy proces ciągle był aktywny? Dopiero jak zamknę okno geany, znikają. Pewnie dlatego taki problem jest z volumeicon.

EDIT:

Dodanie & do:

Kod:

su morfik -c "volumeicon" &

Niweluje problem z odhibernowaniem. Problem, że su nie zmienia środowiska i czyta zmienne w printenv na koncie root, a tam jest home /root/ więc konfigurację do volumeicon chce pobrać z tamtej lokalizacji.

Jak nakazać su by zmienił środowisko?

Ostatnio edytowany przez morfik (2013-07-06 16:45:58)

Offline

 

#6  2013-07-06 21:57:12

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Hibernacja i problem z volumeicon

To dopiero ciekawe.

zgodnie z tym co piszą tutaj http://wiki.debian.org/EnvironmentVariables trzeba mieć plik ~/.bash_profile o treści:

Kod:

 if [ -f ~/.profile ]; then
     . ~/.profile
 fi

I to ma przy każdym su user czytać ten plik, a konkretnie ten ~/.profile w którym mają być wszystkie zmienne usera. To jednak nie działa.

Postanowiłem wyexportować zmienną HOME używając bezpośrednio ~/.bash_profile i odczytać ją przez echo $HOME :

Kod:

#
#~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc

 if [ -f ~/.profile ]; then
     . ~/.profile
 fi
 
export HOME="/home/morfik"
echo $HOME

Wynik linijki:

Kod:

root:~# su -l morfik -c "echo $HOME"
/home/morfik
/root

Tak tam są dwie wartości zmiennej HOME pierwsza po przeczytaniu pliku ~/.bash_profile druga po wykonaniu polecenia -- ktoś wie czemu się zmieniła? xD

EDIT:

To mi podsunęło myśl by zrobić skrypt:

Kod:

#!/bin/bash
export HOME="/home/morfik"
volumeicon &

I co widzimy? xD

Kod:

root:/home/morfik# su -l morfik -c "/home/morfik/volumeicon_start"
root:/home/morfik# ps -eo "pid user args" | grep volume
 2924 morfik   volumeicon

I w logu:

Kod:

2013-07-06T22:05:48.323082+02:00 morfikownia su[3066] Successful su for morfik by root 
2013-07-06T22:05:48.326992+02:00 morfikownia su[3066] + /dev/pts/2 root:morfik 
2013-07-06T22:05:48.327954+02:00 morfikownia su[3066] pam_unix(su:session): session opened for user morfik by morfik(uid=0) 
2013-07-06T22:05:48.346243+02:00 morfikownia su[3066] pam_unix(su:session): session closed for user morfik

Teraz to tylko wrzucić do skryptu pm-utils i powinno zadziałać.

EDIT:


Działa! xD

Ostatnio edytowany przez morfik (2013-07-06 22:13:33)

Offline

 

#7  2013-07-07 06:43:08

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED] Hibernacja i problem z volumeicon

azhag napisał(-a):

Jacekalex napisał(-a):

Inne opcje odpalenia procesu, żeby przeżył ubicie powłoki, pewnie też istnieją, ale o to pytałbym przede wszystkim azhaga.

"&" wystarczy.

To chyba mam jakiegoś dziwnego basha :D

Odpalam w terminalu:

Kod:

volumeicon &

wyłączam terminal, i znika też vloumeicon.
Zostaje tylko, jak wbijam:

Kod:

volumeicon & exit;

Dla porównania, w skrypcie perla wszystko działa prawidłowo zawsze, ale w perlu  jest wyraźne rozgraniczenie między wywołaniami fork, exec i system.
W bashu jakoś nie znalazłem dokładnego wyjaśnienia tych drobnych niuansów. ;)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2013-07-07 08:45:16

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: [SOLVED] Hibernacja i problem z volumeicon

Jacekalex napisał(-a):

To chyba mam jakiegoś dziwnego basha :D

A widzisz, bo ja używam zsh i na nim nie ma problemu. :)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#9  2013-07-07 09:16:46

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED] Hibernacja i problem z volumeicon

Spoko
Ja może troszkę za bardzo wrosłem w Basha, może tych skryptów się trochę za dużo nazbierało, ale jakiś kosmiczny problem to to nie jest.
Największym niebezpieczeństwem jest uważanie basha, zsh czy csh za języki programowania, którymi nie są.
Jak kogoś, tak jak mnie, Perl, Python  czy inny język programowania nie wyprowadził z błędu, to można mu tylko współczuć. ;)

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2013-07-07 09:17:04)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2013-07-07 10:43:46

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Hibernacja i problem z volumeicon

Mi volumeicon i kilka innych appsów też kończy działanie po zamknięciu terminala mając przy tym & , inne działają bez problemu w tle.

Jacekalex napisał(-a):

volumeicon & exit;

A to sobie zapamiętam. xD

Co do samego zsh, też go używałem i też miałem z nim problemy przy działaniu aplikacji w tle. Może to bardziej zależy od aplikacji? Poza tym, chciałem się przerzucić na zsh ale ciągły rehash po instalacji, wpisywanie znaku \ przez * i innymi oraz nie działające bg 1 2 3 itp, zwłaszcza gdy dałem ctrl+z na dwóch aplikacjach, co mi uniemożliwiło podniesienie tego pierwszego zatrzymanego procesu, sprawiło, że sobie dałem spokój z zsh. Może nie wgryzłem się za bardzo w config ale trochę mi działał ten zsh na nerwy. xD

Offline

 

#11  2013-07-07 10:54:52

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: [SOLVED] Hibernacja i problem z volumeicon

Ale ja właśnie na bashu mam problem z aplikacjami w tle. ;)

morfik napisał(-a):

Może nie wgryzłem się za bardzo w config

Po co wgryzać? Wystarczy wziąć z grmla i już.


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#12  2013-07-07 12:19:29

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Hibernacja i problem z volumeicon

3k linii na konfig? xD

Mogę mu dać ostatnią szanse jak tylko mi ktoś powie jak podnieść zawieszone procesy, bo:

Kod:

morfik@morfikownia ~ % geany 
^Z
[1]  + 31864 suspended  geany
20 morfik@morfikownia ~ % smplayer                                                                                                                                              :(
This is SMPlayer v. 0.8.0 running on Linux
^Z
[2]  + 31872 suspended  smplayer
20 morfik@morfikownia ~ % vlc                                                                                                                                                   :(
VLC media player 2.0.6 Twoflower (revision 2.0.6-0-gbe9623c)
[0x9d7f9d0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
^Z
[3]  + 31880 suspended  vlc
20 morfik@morfikownia ~ % jobs                                                                                                                                                  :(
[1]    suspended  geany
[2]  - suspended  smplayer
[3]  + suspended  vlc
morfik@morfikownia ~ % bg 1
bg: job not found: 1
1 morfik@morfikownia ~ % fg 1                                                                                                                                                   :(
fg: job not found: 1
1 morfik@morfikownia ~ % bg 2                                                                                                                                                   :(
bg: job not found: 2
1 morfik@morfikownia ~ %

To po co są te numerki 1 2 3 ?

Dla porównania bash:

Kod:

morfik:~$ geany
^Z
[1]+  Stopped                 geany
morfik:~$ smplayer 
This is SMPlayer v. 0.8.0 running on Linux
^Z
[2]+  Stopped                 smplayer
morfik:~$ vlc 
VLC media player 2.0.6 Twoflower (revision 2.0.6-0-gbe9623c)
[0x8d1b9d0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
^Z
[3]+  Stopped                 vlc
morfik:~$ jobs
[1]   Stopped                 geany
[2]-  Stopped                 smplayer
[3]+  Stopped                 vlc
morfik:~$ bg 1
[1] geany &
morfik:~$ jobs
[1]   Running                 geany &
[2]-  Stopped                 smplayer
[3]+  Stopped                 vlc
morfik:~$ fg 3
vlc
^Z
[3]+  Stopped                 vlc
morfik:~$ bg 3
[3]+ vlc &
morfik:~$ jobs
[1]   Running                 geany &
[2]+  Stopped                 smplayer
[3]-  Running                 vlc &
morfik:~$

Offline

 

#13  2013-07-07 13:51:21

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: [SOLVED] Hibernacja i problem z volumeicon

Jacekalex napisał(-a):

azhag napisał(-a):

Jacekalex napisał(-a):

Inne opcje odpalenia procesu, żeby przeżył ubicie powłoki, pewnie też istnieją, ale o to pytałbym przede wszystkim azhaga.

"&" wystarczy.

To chyba mam jakiegoś dziwnego basha :D

Odpalam w terminalu:

Kod:

volumeicon &

wyłączam terminal, i znika też vloumeicon.
Zostaje tylko, jak wbijam:

Kod:

volumeicon & exit;

Dla porównania, w skrypcie perla wszystko działa prawidłowo zawsze, ale w perlu  jest wyraźne rozgraniczenie między wywołaniami fork, exec i system.
W bashu jakoś nie znalazłem dokładnego wyjaśnienia tych drobnych niuansów. ;)

Najwyraźniej to zależy od aplikacji - leafpad przykładowo zostaje po zamknięciu terminala, a volumeicon już nie.

Offline

 

#14  2013-07-07 14:10:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED] Hibernacja i problem z volumeicon

PavloAkaLogan napisał(-a):

......
Najwyraźniej to zależy od aplikacji - leafpad przykładowo zostaje po zamknięciu terminala, a volumeicon już nie.

U mnie Leafpad sie zamyka tak samo, jak Volumeicon, właśnie sprawdziłem.
Też pomaga tylko

Kod:

leafpad & exit;

najwyraźniej zachowanie powłoki zależy od znacznie większej liczby czynników,
niż się niektórym wydaje. ;)

Ostatnio edytowany przez Jacekalex (2013-07-07 14:12:02)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)