Jak dodać aktywatora do komendy w terminalu?

Witam! Mam Linux Mint 20. Syn gra w MInecraft na moim komputerze, na MIncie bo szybciej chodzi. Gra przez TLaunchera. Żeby go otworzyć, musi najpierw wklepać w terminalu 'cd ’ a potem ‘sudo java -jar TLauncher-2.75.jar’ . Czy da się utworzyć na pulpicie skrót do tych komend, tak by po podwójnym kliknięciu w ikonę musiałby tylko wpisać hasło? Pozdrawiam :slight_smile:

Nie wiem jak to w Mint wygląda. Nie masz pod prawym klawiszem “utwórz nowy”-skrót?" cos takiego?:

Link do pliku, programu, czy co tam potrzebujesz.
Są jeszcze aliasy. Zapoznaj się. Wpiszesz sobie np. “mine” i już:
https://imagazine.pl/2012/09/10/tworzymy-skroty-do-polecen-w-terminalu/

Nie działa to z aliasami. A ze skrótem jest o tyle problem, że ja muszę wydać DWIE komendy: cd <ścieżka blabla> a potem: sudo java -jar TLa… . Jak to zrobić?

Nigdy nie uruchamiaj skryptów/programów z uprawnieniami root!!! :man_facepalming: (poza szczególnymi wyjątkami administracyjnymi)
Najpierw skryptowi nadaj uprawnienia dla swojego użytkownika, najlepiej zrób go właścicielem pliku (jeśli pobrałeś go rootem, to teraz root jest jego właścicielem stąd twoje problemy)

sudo chown WunderWungiel:WunderWungiel TLauncher-2.75.jar

Teraz w środowisku graficznym kliknij ten plik PPM/właściwości i sprawdź w jakim programie uruchamiane są takie pliki. Jeśli innym niż java, to zmień tak, żeby było poprawnie i tyle. Od tej pory uruchamiasz kliknięciem wszystkie pliki *.jar - o ile masz do nich prawa/uprawnienia :wink:

TLaunchera muszę tak uruchamiać, ponieważ musi on mieć nieograniczony dostęp do folderu /root/.minecraft (zapisuje tam światy MC, mody, forge, wersje itd…) Ale do pozostałych Twoich rad się zastosuję :wink:

To jest tak niemożliwe, że aż śmieszne. Takich rzeczy się nie robi.
Prawdopodobnie wystarczy przenieść TLauncher oraz .minecraft z /root/ skoro tam go skopiowałeś i zrobił jakieś pliki, do swojego katalogu w /home i przekazać uprawnienia/zrobić siebie właścicielem chown z przełącznikiem -R nada uprawnienia rekursywnie (z podkatalogami).
Ludzie! Nie zachowujcie się jak Windowsowe dziki w Linuksie :joy: (mam na myśli uruchamianie programów z uprawnieniami administracyjnymi, a nie brak wiedzy, bo nikt wszystkich rozumów nie zjadł :wink: )

A tymczasowo?
sudo chmod +r /ścieżka do pliku ?
Nie mam sudo w systemie, dawno nie używałem.

chmod +r nada wszystkim użytkownikom uprawnienia do odczytu. W tej sytuacji to nie wystarczy, bo pewne pliki pewnie będą wymagały możliwości modyfikacji.

Sudo nie ma tutaj nic do rzeczy. Używa się go przecież tylko po to, żeby nie logować się na root dla jednej komendy. Równie dobrze może być

su
chown user:group minecraft/ -R

Też nie potrafię wychwycić sensu, jaki podąża za pomysłem uruchamiania TLaunchera z konta innego użytkownika (tu: root), ale wybaczcie, bo dopiero piję pierwszą kawę :wink:

Odpowiedź.
Możesz to osiągnąć na dwa sposoby. Do polecenia launchera wpisujesz:

xdg-terminal ‘/bin/bash -c “cd <ścieżka>; sudo java -jar TLauncher-2.75.jar”’

Jednak najpierw spróbuj:

xdg-terminal ‘sudo java -jar TLauncher-2.75.jar’

I w katalogu roboczym ustaw katalogu, do którego przechodzisz.

Dla ułatwienia. Jeśli chcesz mieć aktywator na pulpicie, to możesz skopiować jeden plik o rozszerzeniu .desktop z /usr/share/applications na pulpit. Następnie prawym na wyniku -> właściwości i edytujesz. Jeśli nie będzie się dało tak edytować, to otwierasz ten plik w edytorze tekstu. Ważne jest natomiast, by odpowiednio escapować ścieżki i inne wieloczłonowe wyrażenia.

Następnie (ponownie) otwierasz ten plik w edytorze i ustawiasz, że program ma zostać uruchomiony w terminalu. Dokumentacja plików .desktop powinna wyjaśniać, jak to dopisać, ale niektóre środowiska graficzne pozwalają to wyklikać.

Tutaj problemem jest, że on go odpala z katalogu roota, z uprawnieniami roota przecież…

Wiem w czym jest problem, ale i tak może zawsze dodać aktywator na pulpicie.

Ale dopiero kiedy ogarnie czym są uprawnienia użytkownika i jaka jest struktura katalogów w GNU, a ty go uczysz złych praktyk, pokazując jak wrzucić sudo do aktywatora :wink:

Zwłaszcza, że TLauncher nie potrzebuje roota do szczęścia.