Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

cz. 1 | W Uniksach to prostsze

Witam.

Zaczynam nową serię wpisów pod nazwą "W Uniksach to prostsze".
Będę odtwarzał pod Uniksami czynności które są pokazywane na innych blogach o Windows by pokazać, że niektóre rzeczy można wykonać nieco łatwiej w Uniksach.

Tak więc część pierwsza będzie odtworzeniem czynności z wpisu:Odkrywanie Ameryki – czyli jak jeszcze usprawnić pracę w swoich folder...

Wpis użytkownika wampir_ jest bardzo estetyczny, ciekawy, "kombinatorski" - gratuluję autorowi za oryginalny pomysł i świetną publikację.

No to przejdę do rzeczy.

Nie potrzebujemy pisać programu w C/C++ aby na danym klawiszu ustawić Pokazywanie/Ukrywanie katalogów/plików oznaczonych jako ukryte.

Tworzymy skrypt i wpisujemy do niego treść:

#!/bin/bash status=`gconftool-2 /desktop/gnome/file_views/show_hidden_files -g` if [ $status = "true" ]; then gconftool-2 /desktop/gnome/file_views/show_hidden_files -s false -t bool else gconftool-2 /desktop/gnome/file_views/show_hidden_files -s true -t bool fi

Narzędzie gconftool potrafi edytować konfigurację wielu programów które działają w środowisku GNOME, obsługa jest bardzo prosta - nazwa klucza, -s aby nadać wartość, -g aby pobrać wartość i -t określić typ danych.

Zapisujemy go w dowolne miejsce np. ~/Scripts/toggle_hidden

Teraz ustawiamy aby skrypt wykonywał się po naciśnięciu klawisza F12.

Dla xbindkeys

Do .xbindkeysrc dodajemy:"~/Scripts/toggle_hidden" m:0x0 + c:96

Dla fluxbox

W ~/fluxbox/keys dodajemy:96 :Exec ~/Scripts/toggle_hidden

Testujemy

Widoczne:

Ukryte:

Powyższy tekst ma na celu jedynie pokazać, że w Uniksach też można zrobić ciekawe triki lecz nie koniecznie wymagana jest tutaj umiejętność programowania w kompilowanych językach a jedynie kilka linijek kodu skryptowego.

Publikacja nie została napisana aby stworzyć wojnę, ma bardziej charakter informacyjny i zawiera subiektywne zdanie autora tekstu. 

Komentarze

0 nowych
borzole   4 #1 08.12.2010 20:29

...eeee
+ w Nautilus
+ w MC

borzole   4 #2 08.12.2010 20:30

siet, wycieło:
[Ctrl] + [H] w Nautilus
[Lewy Alt] + [.] w MC

borzole   4 #3 08.12.2010 20:33

a tak w ogóle to na windzie miałem to kiedyś zrobione w VisualBasic pod prawoklik

post nie trafiony

webnull   9 #4 08.12.2010 20:52

@borzole
Dzięki za skrótki klawiszowe w Nautilusie i MC - nie wiedziałem o nich ;-)

"post nie trafiony"

Myślę, że trafiony bo w gconfie można jeszcze tysiąc innych funkcji zmienić w nautilusie pod F12 ;-)

  #5 08.12.2010 21:53

@borzole
"[Lewy Alt] + [.] w MC" oraz w dolphinie (kde4)

borzole   4 #6 09.12.2010 01:25

zamiast xbindkeys można w GNOME użyć gconftool-2


#!/bin/bash

gkey(){
let i++
gconftool-2 -s /apps/metacity/global_keybindings/run_command_${i} -t str "$1"
gconftool-2 -s /apps/metacity/keybinding_commands/command_${i} -t str "$2"
}

gkey "F1" "gconf-editor"
gkey "F2" "xterm -e htop"
gkey "F3" "yumex"
gkey "F4" "nautilus"
gkey "F5" "evim"
gkey "F6" "emacs"
gkey "F7" "eclipse"
gkey "F8" "geany-ide"
gkey "F9" "kydpdict"
gkey "F10" "audacious-delete.sh"
gkey "F11" "audacious-open-dir.sh"
gkey "F12" "audacious -p"
gkey "x" "xp on"
gkey "s" "nautilus arch/local/sbin"
gkey "h" "nautilus "
gkey "w" "nautilus arch/win"

itd. wcale nie jesteśmy ograniczeni do liczby klawiszy widocznej w gconf-editor

borzole   4 #7 09.12.2010 01:27

cholera, znowu wycieło klawisze. Tam gdzieniegdzie było
[Super], [Shift] itp. tyle, że w trójkątnych (jak to zapisać w komentarzach ?!)

Jaahquubel_   13 #8 09.12.2010 07:24

Strzelanie z armaty do muchy.

borzole | 08.12.2010 20:30
"[Ctrl] + [H] w Nautilus"
W pcmanfm również.

@Webnull
To może od razu zaznacz czy ten serial jest dla ZU, czy dla geeków.

  #9 09.12.2010 09:12

Mnie się podoba, nie mam czasu na studiowanie dokumentacji w poszukiwaniu skrótów i podpowiedzi są fajne (szczególnie z komentarzy bo używam mc)

etam   10 #10 09.12.2010 09:48

U mnie "[Lewy Alt] + [.] w MC" nie działa :(
Na pewno chodzi o Midnight Commandera, czy o coś innego?

borzole   4 #11 09.12.2010 10:45

Tak MC to Midnight Commander. Mi to działa na wersji 4.7.4 w Fedorze 14 bez ustawiania.
* może Twój system zmienił domyślną konfigurację
* może usuń na chwilę katalog ~/.mc
* może masz starą wersję (nie mam pojęcia jak stary jest ten skrót)
* sprawdź wersję z http://www.midnight-commander.org/

micko   8 #12 09.12.2010 15:20

W Windowsie też nie trzeba od razu pisać programu w C++ tylko można posłużyć się skryptami. Tak jak pisał borzole może to być VBScript
http://www.wisesoft.co.uk/scripts/vbscript_show_hidden_files_and_folders.aspx
albo w nowszych systemach PowerShell. Tak odczytujemy aktualną wartość:

(Get-ItemProperty -path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced").Hidden

a tak ustawiamy nową:

Set-ItemProperty -path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -name "Hidden" -value 1

Wartość 1 - pokaż ukryte pliki, 2 - nie pokazuj

Powyższy tekst ma na celu jedynie pokazać, że w Windowsie też można zrobić ciekawe triki lecz nie koniecznie wymagana jest tutaj umiejętność programowania w kompilowanych językach a jedynie kilka linijek kodu skryptowego.

webnull   9 #13 09.12.2010 16:43

No to teraz dodaj Mi to polecenie w programie do bindowania klawiszy czy rozpoznawania gestów...

Nie zrobisz tego w windowsie.

Co najwyżej można wpisać w konsoli, ale wykonać innym magicznym sposobem nie bardzo.

  #14 09.12.2010 16:48

Myślę, że autor przytoczonego wpisu chciał pokazać, jaki to on nie jest hAxIor, bo napisał program w C, a mógł to zrobić na piechotkę.

Natomiast tutaj Unix rzeczywiście wygrywa. Można zrobić coś o wiele łatwiej niż w C, i nie trzeba na piechotkę.

  #15 09.12.2010 16:55

@borzole | 09.12.2010 1:25 :
To w czym jest lepsze GConf od MMC(tutaj: rejestru Windows) jest to, że (w zasadzie, jak wszędzie w Linuksach) można szukać interesującej nas opcji po opisie słownym. Nie zawsze nam się to uda, ale jeżeli dobierzemy słowa stosowane przez autora opisu, to tak.

Ciekawi mnie czy istnieje jakiś schemat nazewnictwa w opsiach lub tagi.

  #16 09.12.2010 16:57

@micko | 09.12.2010 15:20 :
Jak zmusić PowerShell do przyjęcia polecenia przez parametr? Pytam z ciekawości.

  #17 09.12.2010 16:59

@webnull | 09.12.2010 16:43 :
Nie zrobi tego korzystając z interfejsu graficznego ;-) . Windows dopiero od niedawna dorobił się PowerShella. W każdym razie to rozkazać jakiejkolwiek powłoce uruchomić skrypt z pliku powinno być proste(rozwiązanie podobne do tego). Jeszcze lepiej byłoby, gdyby kazać przyjąć polecenie z parametru.

micko   8 #18 09.12.2010 17:16

Jak to nie zrobię. W Windowsie też istnieją "do bindowania klawiszy czy rozpoznawania gestów"

AutoHotKey
http://www.dobreprogramy.pl/AutoHotkey,Program,Windows,12731.html

StrokeIt
http://www.dobreprogramy.pl/StrokeIt,Program,Windows,11684.html

webnull   9 #19 09.12.2010 17:41

@micko
A czy mogę zdefiniować, że po narysowaniu litery "a" uruchomi się polecenie w powłoce?

borzole   4 #20 09.12.2010 18:05

@notgnucy (niezalogowany)
ale o czym Ty i dlaczego do mnie to piszesz ? :)

micko   8 #21 09.12.2010 18:23

Tak. dzięki StrokeIt
http://www.youtube.com/watch?v=irrw57VSb4g
http://www.youtube.com/watch?v=6yr1oBgaTJU

Generalnie działa to tak, że uruchamia się program PowerShell.exe z odpowiednimi argumentami. Zgodnie z dokumentacją
PowerShell[.exe][-File ]

micko   8 #22 09.12.2010 18:27

Coś mi wcięło. A więc jeszcze raz
PowerShell.exe -File skrypt.ps1

webnull   9 #23 09.12.2010 18:38

@micko
Ale czy taki program po narysowaniu gestu na ekranie wykona polecenie w powłoce? Nie sądzę.

StrokeIT - EasyStroke pod Uniksami
AutoHotkey - GConf, xbindkeys, Fluxbox, Openbox i więcej pod Uniksami

micko   8 #24 09.12.2010 18:53

@webnull
Tak. Przecież napisałem jak wykona polecenie w powłoce. Uruchomi interpreter (powłokę jak kto woli) PowerShell.exe ze skryptem przekazanym jako argument.
W Unixach skrypty też nie wykonują się tak same z siebie, ale wykonuje je interpreter, który wskazujesz zwykle na początku skryptu. Słynne #!/bin/bash. Odpowiednikiem /bin/bash jest w tym przypadku PowerShell.exe. W Windowsie tak jak w Unixach może być wiele powłok.

micko   8 #25 09.12.2010 19:08

Mogę Ci zrobić przyjemność. Shebang line + atrybut wykonywalności to lepsze rozwiązanie od Windowsowskich skojarzeń.
http://en.wikipedia.org/wiki/Shebang_(Unix)

borzole   4 #26 09.12.2010 19:26

@webnull
Mam wrażenie, że za wszelką cenę chcesz pokazać, że w Linux jest wszystko lepiej, łatwiej itd. Micko pokazał Ci jak to samo zrobić w Windows, więc odpuść sobie dalsze szukanie dziury w całym.
Lepiej napisz następny artykuł, tylko zacznij nazywać normalnie nagłówki zamiast "Przykładowe zastosowanie czternaste...". Wystarczyłoby "14. Szybka kalibracja ekranu dotykowego".

webnull   9 #27 09.12.2010 20:18

@micko
Dobrze słyszeć kolego, że pod Windowsem można swobodnie zainstalować powłokę i z niej korzystać.
Szkoda tylko, że bardzo mało programów jest do niej przystosowanych :-)

webnull   9 #28 09.12.2010 20:18

@borzole
"Lepiej napisz następny artykuł, tylko zacznij nazywać normalnie nagłówki zamiast "Przykładowe zastosowanie czternaste...". Wystarczyłoby "14. Szybka kalibracja ekranu dotykowego"."

Tak zrobię w Sobotę/Niedzielę.
Tylko proszę podsuń Mi jakiś dobry pomysł, jak nie to będę musiał sam coś wymyślić :-)

webnull   9 #29 09.12.2010 20:20

W sumie myślę, że dalsze pisanie serii "W Uniksach to prostsze" będzie narazie wstrzymane, dopiero jak znajdę coś porządnego do napisania a w tym czasie skupię się na "Siła konsoli w systemach Uniksowych" oraz nowej serii artykułów która będzie bardziej w stylu "Siły konsoli w systemach Uniksowych" można powiedzieć że tytuł będzie podobny do "Siła grafiki w systemach Uniksowych" ;-)

flaszer   10 #30 09.12.2010 21:11

@borzole
Zgadzam się w 100%.
@webnull
Użytkownik micko podał bardzo dobre rozwiązanie działające tak samo pod Windowsem, jednak Ty nadal z uporem maniaka chcesz pokazać wyższość systemu Uniksowego. Nic tym nie zwojujesz, a co najwyżej doprowadzisz do kolejnej kłótni o to, który system jest lepszy, a chyba nie o to tutaj chodzi...

webnull   9 #31 09.12.2010 21:36

@flaszer
Koniec, bo micko udowodnił Mi Swoją rację ja troszkę dodałem i sprawa rozwiązana, czytelnicy skorzystają z informacji zawartych w komentarzach (troszkę o Powershellu ;-))

Zulowski   8 #32 09.12.2010 21:45

Kontynuuj serie, bardzo przydatne informacje, nawet pobieram sobie distro by po raz nty spróbować :)

borzole   4 #33 09.12.2010 22:55

@webnull
Swoje pomysły realizuje sam jak są mi potrzebne.
Może to Cię natchnie:
http://ubuntuforums.org/showpost.php?p=5984639&postcount=3
zrób wreszcie tą synchronizację z usb, bo mi się nie chce :P

kwpolska   6 #34 11.12.2010 18:59

WRONG! W nautilusie wystarczy Ctrl+H. I nie ma więcej kombinowania.