Polecenie „otwórz” w Mac OS X jest bardzo przydatne w wierszu poleceń. Z „man open”:
open
Polecenie otwiera plik (lub katalog lub adres URL), tak jakby trzeba było dwukrotnie kliknąć ikonę pliku. Jeśli nie określono nazwy aplikacji, do otwarcia określonych plików używana jest domyślna aplikacja określona przez LaunchServices.
Oznacza to, że jeśli chcę otworzyć plik PDF za pomocą domyślnej przeglądarki plików PDF (okazuje się, że jest to wersja zapoznawcza), muszę tylko:
open my.pdf
Jednak w systemie Linux, aby otworzyć plik PDF z wiersza polecenia, musiałem się rozejrzeć, aby znaleźć domyślną przeglądarkę plików PDF, na przykład „evince” (kto by zgadł?), A następnie
evince my.pdf
Czy w wierszu poleceń systemu Linux istnieje prosty odpowiednik polecenia „otwórz”?
Dzięki!
linux
macos
command-line
command-line-interface
Joachim Sauer
źródło
źródło
Odpowiedzi:
Możesz spróbować
xdg-open
, większość dystrybucji Linuksa ma to. Otworzy domyślną powiązaną aplikację dla twojego pliku.Do Twojej wiadomości https://portland.freedesktop.org/doc/xdg-open.html
źródło
open
, że nie powoduje to otwarcia pliku / aplikacji w tle. Aplikacje Linuksa wydają się bardzo gadatliwe i często wysyłają wiele linii diagnostycznych i ostrzeżeń bezpośrednio do twojego terminala (nawet jeśli tak naprawdę nic nie poszło nie tak). Zazwyczajxdg-open <file> &> /dev/null &
zamiast tego muszę zrobić coś takiego . Czy jest w tym względzie coś lepszego niż xdg-open?&
nie jest potrzebne. Jeśli chodzi o „wiele linii diagnostycznych”, pochodzą one z samej aplikacji, a nie zxdg-open
. Jeśli nie chcesz żadnych danych wyjściowych, musisz&> /dev/null
nawet użyćevince
bezpośrednio (przykład OP), więc Twoja skarga jest nieważna.xdg-open
jest rzeczywiście właściwą drogą.xdg-open
jest wina, że są czatujące. Wyłączenie takich wiadomości powinno być wyborem użytkownika , a nie xdg. Prośba o coś „lepszego” niż próżna jest więc nieważnaxdg-open
. Ponadto, jeśli Macopen
nie ma opcji wyprowadzania tych wiadomości, powiedziałbym, żeopen
tak znacznie gorsze niżxdg-open
, ponieważ kiedy używasz wiersza polecenia do uruchamiania plików, zwykle jesteś zainteresowany tymi danymi wyjściowymi (w przeciwnym razie dlaczego po prostu nie kliknąć dwukrotnie pliku w przeglądarce takiej jak Nautilus?)alias open='xdg-open &>/dev/null'
daje w przybliżeniu pożądane zachowanie (chociaż błędy samego xdg-open (w przeciwieństwie do samego uruchomionego programu) również zostałyby wyciszone, co jest niepożądane).Odpowiednikiem, którego szukasz, jest
xdg-open
taki sam, jakopen
komenda OS X. Na przykład:Jednak naprawdę trudno jest pisać szybko i dokładnie. Zamiast tego powinieneś utworzyć alias do xdg-open, co znacznie przyspiesza proces.
Oczywiście możesz to
open
zrobić tak, aby pasowało do OS X (możesz wybrać cokolwiek chcesz), ale osobiście używam odpowiedniego nawiasu kwadratowego (]
) do skrótu ze względu na szybkość. Aby tego użyć, dodaj do.bashrc
pliku:Następnie, aby otworzyć dowolny zasób, użyj go jak dowolnego z poniższych przykładów:
Pozwala to również otworzyć przeglądarkę plików (np. Nautilus) w bieżącym katalogu:
Z doświadczenia wynika, że aliasy jednoliterowe najlepiej sprawdzają się w przypadku powyższego skrótu. W końcu celem jest wydajność. I możesz wrócić i zrobić ten sam alias w OS X - pozostawiam to jako ćwiczenie czytelnikowi. :-)
źródło
xdg-open
otwiera domyślną aplikację twojego systemu dla pliku. W twoim przypadku.url
pliki są ustawione na otwieranie w gedit. Jeśli chcesz to zmienić, kliknij plik prawym przyciskiem myszy w Nautilus i przejdź do Właściwości> Otwórz za pomocą, aby zmienić domyślną aplikację ixdg-open
będzie działać odpowiednio.Właśnie to załatwiłem, więc pomyślałem, że napiszę, jak to zrobiłem, co ma szczególne znaczenie dla tego, o co poprosił Suan. Te kroki pozwalają po prostu wpisać „otwarty”, a nie terminal objęty wiadomościami, których nie potrzebujesz:
Utwórz skrypt o nazwie
open
w~/bin
treść jest po prostu:Zapisz i zamknij skrypt, a następnie wpisz „source .profile” (lub .bash_profile, jeśli dotyczy). Tak więc wpisanie „open Music” otworzy folder z muzyką w graficznym interfejsie użytkownika nautilus i nie powinien nic wpisywać w twoim terminalu.
źródło
open
i umieść go w PATH (zazwyczaj w$HOME/bin/open
)PATH
niż/bin
. Zgodnie z konwencją, jeśli$HOME/bin
tak, zostanie dodany na początku ŚCIEŻKI, przed katalogami systemowymi. Zwykle robi to twój.profile
lub podobny. Na przykład domyślna.profile
wersja Ubuntu robi dokładnie to./dev/null
jest nieco kapryśne; być może możesz przekierować dane wyjściowe$HOME/.xsession-errors
lub inne, aby diagnostyka nie została całkowicie utracona na wypadek, gdybyś musiał coś rozwiązać.xdg-open
, to problem z powłoką.Tradycyjnie można użyć polecenia „zobacz”. Który po prostu używa run-mailcap. Będzie to działać bez Gnome i X itp.
źródło
run-mailcap
(i wiele jego aliasów) korzysta z osobnej (i strasznie nieaktualnej) bazy danych powiązań aplikacji. Na przykład w moim systemie, podczas gdy.mp3
utwory poprawnie otwierają się w VLC,.txt
pliki otwierają się w mniejszej ilości (zamiast gedit), a.pdf
pliki po prostu nie otwierają się! (Błąd: nie znaleziono reguł dotyczących „widoku” dla typu „application / pdf”)run-mailcap
je rozpoznać.xdg-open
wykorzystuje wewnętrzniegvfs-open
(w systemach Gnome, takich jak Ubuntu), który z kolei korzysta ze specyfikacji mime-database xdg, z której korzysta znacznie więcej aplikacji.gimp
dla mnie ponad 50 stron pliku PDF . Będę się trzymaćxdg-open
.less
TXT X''Dgnom otwarty
źródło
xdg-open
użytkownika na Gnome (teraz używagvfs-open
)Jeśli masz poprawnie skonfigurowaną mimię, możesz jej użyć
mimeopen
. Sprawdź jego stronę podręcznika, ponieważ ma kilka przydatnych opcji.źródło
W środowisku Gnome Desktop używam następującego polecenia:
Jest to podobne do „otwartego”. polecenie w komputerze Mac
źródło
.
zamiast „pwd
” c) W przypadku zmianypwd
do pliku, użytkownik będzie nadal trzeba trafić ENTER po Nautilus otwiera D) Nautilus Otwarcie pierwszy właśnie na to , aby otworzyć plik jest rozwiązaniem bardzo pośredni.