Sudo для Windows Vista

Преамбула


Сегодня вечером, находясь уже в несколько напряженном, после рабочего дня, состоянии, мне пришлось поработать. Вспомнив о том, что я еще не перенастроил исполнение Zend Studio через свежеустановленную Java 1.6.0_05 решил это сразу и сделать для повышения производительности оного.

Для этого надо было отредактировать bat-файл, запускающий Zend Studio. Файл лежит в подпапке студии в директории C:\Program Files. Естественно, права на запись имеет только суперадмин (administrator). Как легко отредактировать этот файл?

Амбула


Для того, чтобы его отредактировать, мне нужно либо запустить какой-нибудь файловый менеджер (TotalCommander, Far, explorer) от имени администратора и там уже спокойно отредактировать, либо запустить от имени администратора редактор (notepad или любой другой), найти в окошке выбора файла нужный и тогда отредактировать. Оба пути казались какими-то… неудобными.

Не особо надеясь на удачу, в гугл отправился гонец в виде запроса «sudo windows vista». (Что такое sudo?) Удивлению не было предела — есть! Утилита Start++ может сделать то, что мне надо, и не только это.
Но по-порядку.

Start++. Sudo


Start++ — небольшая утилитка, способная к выполнению нехитрых задач — перехвату строки запуска и выполнению каких-то действий. Пользователям браузера Opera это знакомо, т.к. выглядит совершенно аналогично поиску через строку адреса путем «g %поисковый_запрос%» («y %поисковый_запрос%» и т.д.)

То же самое Start++ делает с обычной строкой запуска windows (и командной строкой тоже).

То есть после его установки можно нажать Win+R, запустить «sudo far» — появится запрос на выполнение из под администратора — и вуаля, мы имеем far, запущенный из под администратора. Вместо «far» может быть любой исполняемый файл, доступный в %PATH%.

Я работаю с Total Commander, мне еще удобнее. Я встал в TC на этот злополучный bat-ник, набрал «sudo notepad », Ctrl+Shift+Enter (кто не пользует TC: Ctrl+Shift+Enter вставляет в командую строку полное имя файла под курсором), Enter. Ура — Я редактирую файл от имени администратора.

Так же теперь из командной строки (любой — в win+r, просто стартовом меню, в тотал коммандер или far или даже cmd) можно набрать «g hello world», и в браузере по умолчанию отроется новое(ый) окно/таб (зависит от браузера и его настроек) с соответствующей страницей поиска в Google.

Все шорткаты настраиваются.



Стартлеты (те, что доступны на первой вкладке) работают и с выключенным Start++ (когда включен, висит в трее).

На остальный табках доступны так же поисковые стартлеты и гаджеты для стартового меню.

Поисковые стартлеты


Поисковые стартлеты (Search Startlets), как это очевидно, могут искать. Искать по разнообразным критериям, используя всё ту же командную строку. Поиск происходит в локациях, проиндексированных стандартным Indexer.

Например поиск «pics flight», откроет через WMP все картинки, содержащие «flight» в имени.

Гаджеты стартового меню


Сразу скажу — в силу неизвестных мне причин, у меня этот функционал не заработал. Но суть его в том, что некоторые вещи можно отображаются прямо в стартовом меню, если просто набрать запрос в строке поиска.



Вот такая разноплановая программка получается. Написана, насколько я понял, на .NET. Имеет определенную расширяемость функционала через написание скриптов на WSH. Весит меньше мегабайта. Распространяется бесплатно.

Но мне в первую очередь понравилось то, что теперь не придется мучаться с запуском из под администратора.

Сайт программы
Страница закачки Start++ (и не только)
Прямая ссылка на Start++

p.s. A Zend Studio 5.5.1 под Java 1.6.0_05 так нормально и не заработала — глючит отрисовка :(
+17
8 мая 2008, 00:28
7
smartov 109,3

комментарии (27)

+12
smartov #
Перевод картинки в начале, если кому-то надо

0
smartov #
p.p.s. Я люблю Хабр - первый балл который получаешь - минус и обязательно без комментария. Хорошей приметой скоро станет :)
+3
meako #
Может поставили за то, что картинка в общем и так очевидна, даже с что ни есть самым базовым знанием английского.
0
Davidov #
И снова, подпись ) Я считаю, что это один из самых неудачных переводов нашего сообщества, но, тем не менее: http://misc.myths.ru/xkcd/149/

Для простых смертных аналогом является фраза „Саймон сказал, делай так“
+4
EaE #
В таком переводе теряется шутка про make, к сожалению :)
0
diamant #
а почему сендвич, а не сэндвич или сандвич?
ну или попросту бутерброд
0
Heath #
По правилам транскрипции из английского будет именно «сендвич». А если транслитерировать, а не транскрибировать, то «сандвич». :)
0
DileSoft #
Я бы перевел иначе:

- сделай мне сэндвич.
- что? сам сделай.
- sudo сделай мне сэндвич.
- слушаюсь.
0
Kaberc #
ПО-моему не „слушаюсь“, а туча строк, которые описывают процесс создания сандвича)
0
Marsikus #
Большое спасибо, очень интересный, а главное полезный материал!
+9
mas #
Чтобы запустить что-то от имени администратора, не надо ничего городить или искать на стороне.
runas /user:mymachine\administrator cmd
Хотите, заверните это в sudo.bat.
0
kodji #
или щелкнуть правой кнопкой и выбрать пункт "запуск от имени администратора" )
Но согласитесь, что в программе есть еще вкусности помимо sudo. Я, пожалуй, скачаю и посмотрю - может пригодится)
0
mas #
Если это я должнен согласиться, то ни за что. Абсолютно сомнительные вкусности. Не тянет даже пробовать.
0
smartov #
Можно. Однако есть отличия.
1) runas - консольная утилита, и в любом случае выскакивает консоль
2) нужно напрячь моск чтобы написать универсальный bat-скрипт запуска приложений
3) в start++ есть и другие вкусности :)
0
Tishka17 #
если вы запускаете не консольную прогу, то консоль ыскакивает только для ввода пароля.
а напрягать мозг сисадмин дожен уметь
+1
NemeZZiZZ #
Хотел бы поправить: в TC {Ctrl+P} значит копирование пути до файла, а {Ctrl+Enter} значит вставку только имени файла. Поэтому я пользуюсь так "mplayer2 {CTRL+P}{CTRL+Enter}{Enter}". В вашем случае вполне мог помочь и просто "sudo {CTRL+Enter}", т.к. вы находитесь в "текущей папке файла". Конечно, если у программы или скрипта (sudo.bat) не указан Рабочий каталог.

Надеюсь, всё верно написал :) Конец рабочего дня и недели отупляет чуть.
0
smartov #
Спасибо за заметку - тоже писал в 12 ночи уже :) Упустил. Сейчас исправлю.
На самом деле вставить полный путь можно одним сочетанием - Ctrl+Shift+P, именно его я и имел в виду.
0
NemeZZiZZ #
Не сработало. Значит...
TC -> Справка -> Горячие клавиши :) Нет такого сочетания, есть Ctrl+Shift+Enter, исправьте верно :)

...а я для себя запомню :) Вернее, вспомню :) Лень стирает многие вещи из памяти...
0
smartov #
Второй раз поправляете. Держите плюс к карме. Моя невнимательность ужасна :)
0
diamant #
CTRL+F ?
а макросы там есть?
0
NemeZZiZZ #
Полагаю, вопросы не ко мне? Иначе я не понял их.
0
driessen #
Пользователям браузера Opera это знакомо

И не только им ;-)
0
grokinn #
ооо класная прога, так часто надо запустить что то от sudo и это быстрее чем тыкать мышью:)
0
bolk #
sudo ничего не «перехватывает», это проста запуск программы с параметрами.
0
4twilight #
вспомнился случай. Заказчик(З) и разраб-к(Р)
З: - у вас баг в программе!
Р: - какой, какие симптомы, как повторить?
З: - как повторить - не помним, что делали - не скажем. В общем, @тесь сами.
Р: - как будет дополнительная инфа по багу дайте знать, постараемся поправить.
З: - а давайте будем fork'ать виндовый процесс и фиксить ничего не будем.

пы.сы. Дорогие Разработчика Start++, может следующее, что Вы сделаете будет возможность fork'а в винде? Заранее благодарю :)
0
Paul #
Если вам нужен системный вызов fork как разработчику под Windows — пишите под cygwin. Если вы хотите, чтобы процесс foo форкал ничего не подозревающий процесс bar — вы чего-то не того хотите.
0
alex_blank #
лучше бы сделали как в Enso Launcher - здоровенный коммандлайн оверлеем, вызывается при зажатом CapsLock

а то мышкой еще тыкать куда-то..

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.