Poczytaj o
- Uprawnieniach, np.
http://www.xlin.hg.pl/podstawy/prawa.html
http://kik.pcz.pl/so-add/KSL/lekcje/l_15.html
- Katalogach
https://pl.wikibooks.org/wiki/Linux/System_plik%C3%B3w/Drzewo_katalog%C3%B3w
I teraz, gdy wybrales /usr/local/games/armyops/ to
/usr/local/ jest katalogiem gdzie mozna zapisać inne, swoje wlasne programy, można zamiast tego także do /opt/
Problem polega na tym że jako użytkownik nie możesz grzebać nigdzie indziej jak w /home/uzytkownik/ oraz w /tmp/
i program lub gra którą próbujesz uruchomić także.
To spytasz się to po co są tam instalowane programy i gry, skoro nie mogą tam grzebać ?
Są tam instalowane celowo, bez praw zapisu ale z prawem wykonywania przez uzytkownika oprócz narzedzi administratora root.
I domyślnie aplikacja swoje pliki tymczasowe, konfiguracyjne powinna zapisywać tylko w /tmp lub w /tmp/uzytkownik/
a katalog /home/uzytkownik/ powinien być święty tylko dla twoich własnych plików i żadna aplikacja nie powinna mieć prawa odczytu dopóki jej nie zezwolisz
lub oznaczysz jako zaufaną do grzebania w plikach użytkownika.
Ale rzeczywistość pokazuje troche coś innego.
Pliki tymczasowe są w /tmp i w /home/uzytkownik/
Gdybyś zmienil prawa dla /usr/local/games/ może nic wielkiego by się nie stało.
Ale tego się nie robi, żeby żaden wirus uruchomiony przez użytkownika nie nadpisał aplikacji.
A po drugie jest to nie zgodne z zasadami, które jak ktoś chce bardzo to może łamać.
Jesli chciałbyś instalować programy na osobnej partycji,
niektóre dystrybucje ograniczają do niej dostęp.
Więc tam tam także dla danego katalogu musiałbyś zmienić uprawnienia.
Najlepiej z opcją " R " czyli rekursywnie lub rekurencyjnie ze kazdy nastepny katalog w srodku ma odziedziczyc uprawnienia.
chown nazwa_uzytkownika /scieczka/do/katalogu -R
Edytowane
Tu masz jak zainstalować przez Steam
http://manual.americasarmy.com/index.php/AA3_Downloading_and_Installation
Nie jednak na Steamie naprawde nie widzę.
Ku gwoli ścisłości
1. bym zacytował z innego wątku kogoś
Nasze serdeczne gratulacje! Jesteś pierwszą osobą, która zadała sobie (i Google) pytanie "best filesystem ssd linux", bo zwrócił 0 wyników... :o A nie, czekaj... Zwrócił pół miliona wyników...
Czyli że warto czasem także w internecie poszukać ( bo szybciej i często ze słowem linux )
2. Bezpieczeństwo
Mamy nadzieję że użytkownik jest świadomy że instalowanie aplikacji
spoza repozytorium może być niebezpieczne i jest to nie polecane dla początkujących.
Jak już najważniejsze wiemy, to teraz napiszę co znalazłem:
on a fresh install of ubuntu.
https://forums.linuxmint.com/viewtopic.php?t=60553
AmericasArmy ... NO LONGER SUPPORTED ... ostatnio edytowane 2011-05-01
https://help.ubuntu.com/community/AmericasArmy
America's Army Is Coming Back To Linux ... SteamOS/Linux support 10 July 2015
https://www.phoronix.com/scan.php?page=news_item&px=America-Army-APPG-Linux
Nie prawda, aktualnie tam widnieje ikonka Windowsa.
http://store.steampowered.com/app/203290/Americas_Army_Proving_Grounds/
Ale wiemy juz że ktoś coś wspominał wcześniej o Ubuntu ( teraz 2008 )
https://ubuntuforums.org/showthread.php?t=988632
I teraz coś od siebie, bo raz na jakiś czas uruchomię Minta by pograć Warframe
które zainstalowałem jakiś czas temu do testów z menadzera Lutris.
$ locate libstdc++.so
/home/tele/.local/share/lutris/runtime/lib32/libstdc++.so.5
/home/tele/.local/share/lutris/runtime/lib64/libstdc++.so.5
/usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.so
/usr/lib/i386-linux-gnu/libstdc++.so.6
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
Numeru celowo nie podałem, ponieważ numery się zmieniają wraz z aktualizacjami.
Możemy sprawdzić do jakiego pakietu należy któryś z plików
$ dpkg -S /usr/lib/i386-linux-gnu/libstdc++.so.6
libstdc++6:i386: /usr/lib/i386-linux-gnu/libstdc++.so.6
Możemy poszukać / sprawdzić / znaleść czy plik jest w repozytorium , ale ten starszy
( mialem problem ze znalezieniem odpowiedniego narzedzia, dlatego doinstalowalem apt-file )
$ apt-file find libstdc++.so.5
libstdc++5: /usr/lib/x86_64-linux-gnu/libstdc++.so.5
libstdc++5: /usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7
No ale nie mogę zainstalować starszego pakietu.
- Nie instaluje się starszych pakietów zazwyczaj bo mogę rozwalić drzewo zależności i system.
Ale generalnie można ( choć nie wszystko i nie zawsze )
- Spróbować zainstalować starszy pakiet narażając się na uszkodzenie systemu
Przykład jak to mniej więcej może wyglądać ( nie chce mi sie tego sprawdzać )
https://help.ubuntu.com/community/PinningHowto
https://telelinux.blogspot.com/2017/11/how-get-new-qtox-for-debian.html
- Można zlinkować bibliotekę ( symbolic link ) licząc że gra jakimś cudem zadziała
https://pclinuxoshelp.com/index.php/Debug_a_Program
- Można napisać do developerów i liczyć że odpiszą lub zaktualizują grę.
Ponieważ mi się warframe po aktualizacji popsuło, a nowe pobieranie zajmie ponad pół godz. bez wskaźnika czy już się pobrało,
i skoro podałeś linka do swojej gry to postanowiłem sprawdzić.
Gra co prawda nie dziala z nowszą biblioteką libstdc++.so.6
ale działa z biblioteką z Lutris. ( Lutris było instalowane ręcznie )
# ln -s /home/tele/.local/share/lutris/runtime/lib32/libstdc++.so.5 /usr/lib/i386-linux-gnu/libstdc++.so.5
# --> z konta root
$ --> z konta uzytkownika
Tak jak wspomniano wyżej w linku, dzwięk oczywiście nie działa.
$ ./armyops
Cheat protection disabled
open /dev/[sound/]dsp: No such file or directory
Xlib: extension "XiG-SUNDRY-NONSTANDARD" missing on display ":0.0".
Gra wykorzystje jakieś OpenAL którego nie znam.
- edytowanie /etc/openal/alsoft.conf nie pomoglo
- doinstalowanie pakietów oss nie pomogło
- papdsp , nie potrafie znalesc aplikacji 32bit w systemie 64 bit, ( odpowiednika /usr/bin/papdsp dla 32bit w 64bit systemie )
zainstalowanie nic nie dało ( libpulsedsp:i386 )
$ padsp ./armyops
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Cheat protection disabled
open /dev/[sound/]dsp: No such file or directory
Xlib: extension "XiG-SUNDRY-NONSTANDARD" missing on display ":0.0".
Małe sprostowanie:
Zainstalowano następujące pakiety:
libstdc++5:i386 (1:3.3.6-28ubuntu1)
Pakiet jest w repozytorium i można go bez obaw zainstalować ( poprostu go nie zauważyłem w Synaptic )
Ale oczywiście to nie naprawia dzwięku.
Na dodatek sobie dźwięk w systemie popsułem,
wyrzuciło mi sterownik snd_hda_intel przez co nie wykrywało mi karty dzwiękowej,
prawdopodobnie po instalacji oss4.
Pomogło ( bynajmniej dla alsa narazie, pulse nie testowałem )
/etc/init.d/alsa-utils stop
rmmod snd_hda_intel
modprobe snd-hda-intel
/etc/init.d/alsa-utils start
z https://wiki.ubuntu.com/SndHdaIntelSoundProblems
Porzuciłem tą gre ...
Po którymś z ostatnich twoich wpisów mogę się domyśleć,
ale może ktoś inny ma ochote popsuć sobie system :D
W moim przypadku system miał być do testów, i nie jest to główny system, więc testuję dalej ... dopóki mam ochotę.
W każdym razie ...
Udało mi się określić do jakiego pakietu należy padsp
( wersja 32bit ma taką samą nazwę, tylko w 64 bitach instaluje sie z dopiskiem :i386 )
$ dpkg -S /usr/bin/padsp
pulseaudio-utils: /usr/bin/padsp
Z menadzera Synaptic udało mi się zaktualizować, czy zainstalować pulseaudio-utils:i386 ( czyli 32 bit )
( z terminala próbowałem wcześniej, ale pisało o niespełnionych zależnościach )
Usunięto następujące pakiety:
pulseaudio
Zaktualizowano następujące pakiety:
pulseaudio-utils:i386 (1:8.0-0ubuntu3) to 1:8.0-0ubuntu3.7
Zainstalowano następujące pakiety:
libice6:i386 (2:1.0.9-1)
libsm6:i386 (2:1.2.2-1)
libuuid1:i386 (2.27.1-6ubuntu3.3)
libxtst6:i386 (2:1.2.2-1)
Dźwięk w grze już działa ( widać jeszcze błedy, ale dzwięk jest )
$ /usr/bin/padsp ./armyops
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Cheat protection disabled
WARNING: ALC_EXT_capture is subject to change!
Xlib: extension "XiG-SUNDRY-NONSTANDARD" missing on display ":0.0".
Defaulting to false
error - open() failed with "connect failed, with 'Connection timed out'".
error - open() failed with "connect failed, with 'Connection timed out'".
Defaulting to false
Jedyne co mógłbym jeszcze po marudzić to ...
- gra ma problemy z zapisaniem stanu gry oraz znalezieniem serwerów ( może już wszystkie dawno temu padły )
- narazie jest dostępna tylko 1 misja treningowa ( nie wiem jak odblokować inne )
- plotki były w tamtym roku że Ubuntu chce porzucić 32 bit ( wiec może zabraknąć paczek w przyszłości )
- pulseaudio-utils:i386 usuneło pulseaudio, zobaczymy czy będę miał, dźwięk po restarcie komputera.
- instalowałem w ~/Games/army/ a tworzy jeszcze tymczasowe foldery w ~/.armyops250/ ~/.loki/
( dwa foldery mogły mu wystarczyć, zamiast trzech )
I na tym zakończę testowanie.
Gra instalowana z https://aao25.com/getting-started/ ?
Na systemie 32 bit może obie aplikacje działają lepiej ... ,
na 64 bit systemie bez zależności 32bit nie chce pójść.
W przypadku 25Assist ( https://aao25.com/getting-started/ )
na 64 bit systemie trzeba zainstalować libgtk2.0-0:i386
potem trzeba się zalogować i tu login i hasło nie wchodzą, pisze że użytkownik nie istnieje na Battletracker.com
Rejestrowałem się na
https://www.americasarmy.com/
a nie na tracker coś tam.
http://battletracker.com
Website and services will shutdown forever soon ...
Thank you for a great time and cya on the battlefield!
Czyli zarejestrowanie się jest niemożliwe, a tym samym uruchomienie instalatora w moim przypadku.
A co do czarnego ekranu ...
Podstawowym narzedziem debugowania w Linuxie jest
1. uruchomienie aplikacji w terminalu
2. Dodatkowe narzędzie to strace, wspomniane chyba wcześniej gdzieś
( przykladowe użycie
w celu znalezienia ładowanych plików " strace -e open /sciezka/do/nazwy_aplikacji "
inne " strace /sciezka/do/nazwy_aplikacji " )
Edytowane
A co do tego OSS co instalowałem na ślepo żeby dzwięk mi zadziałał w grze ...
# grep -i "snd-hda-intel" *
oss4-base_noALSA.conf:blacklist snd-hda-intel
# pwd
/etc/modprobe.d
# dpkg -S /etc/modprobe.d/oss4-base_noALSA.conf
oss4-base: /etc/modprobe.d/oss4-base_noALSA.conf
$ sudo alsa force-reload
Terminating processes: 1223 1783
1783 6021.
/sbin/alsa: Warning: Processes using sound devices: 8189(pulseaudio).
Unloading ALSA sound driver modules: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-hda-codec snd-hda-core snd-seq-midi snd-hwdep snd-seq-midi-event snd-rawmidi snd-pcm snd-seq snd-seq-device snd-timer (failed: modules still loaded: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer).
Loading ALSA sound driver modules: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-hda-codec snd-hda-core snd-seq-midi snd-hwdep snd-seq-midi-event snd-rawmidi snd-pcm snd-seq snd-seq-device snd-timer.
Pakiety oss wszystkie odistalowałem wcześniej, ale pomimo to w /etc/modprobe.d/ istnieją pliki konfiguracyjne.
Podejrzewam że przez zainstalowanie pakietu oss4-base straciłem dzwięk.
Pomimo usunięcia oss4-base pakietu, usuniecia alsy i pulseaudio i ponownej instalacji alsy i pulseaudio
to stare pliki konfiguracyjne zostają. ( możecie to zgłosić developerom, ja nie będę )
Prawdopodobnie to jest przyczyną moich problemów z dzwiękiem po instalacji "oss4-base".
( Wyżej widać że oss4-base_noALSA.conf zawiera blacklist snd-hda-intel )
Pisałem wcześniej że pomogło ręczne załadowanie sterownika " modprobe snd-hda-intel "
No nie do końca, przy następnym uruchomieniu problem wracał.
Po usunięciu plików konfiguracyjnych z nazwą oss już mi wykrywa kartę dzwiękową w karcie graficznej,
jeszcze mi nie wykrywa karty sieciowej płyty głównej i nie wiem jak znaleść nazwę tego sterownika,
który w współpacuje z tym "kodekiem"
# cat /proc/asound/card*/codec* | grep Codec
Codec: Realtek ALC892
Narazie problem dalej rozwiązuje ręcznie, ale przy pomocy powyższego " sudo alsa force-reload ".
W przyszłości jak bedę czuł potrzebę i nie znajdę rozwiązania, to reinstaluję system na nowo.
- To tak po za tematem gry trochę.
PS: Wygrzebalem w systemie
# replaced by p54pci
blacklist prism54
Mam nadzieje że nazwa sterownika tego od "wifi" , to tylko czysty przypadek ...