Re: Проверить на наличие железяки

2016-09-22 Пенетрантность Михаил Касаджиков
22.09.2016 14:48, Victor Wagner пишет:
> Конечно, иногда дебаггер помогает разобраться в нетривиальном поведении
> чужого кривого кода. Но вообще есть эмпирическое правило - если тебе
> понадобился дебаггер, т.е. ты не смог понять, что делает код, путем его
> чтения, то код, с которым ты работаешь, крив. Если это твой код - выкинь
> и перепиши сначала. Прямой код при чтении дает больше информации чем
> при пошаговом прогоне, потому что читатель видит все особые случаи и
> реакцию на них. А нормальная программа состоит из обработки особых
> случаев вообще процентов на 95.

Аплодирую стоя. Вот только такие программы пишутся долго и тщательно, а 
начальство (да и «рынок») требует чтобы было сделано «вчера». И мы, в 
результате, наблюдаем кругом «весь этот горький катаклизм». Собственно, поэтому 
я себя и называю «IT сантехник». Ещё в одной конторе был термин «человек с 
вантузом». Грустно всё это.

> И, к сожалению, именно подход "дайте мне
> магическую хрень, которая сделает все что нужно сама", провоцирует
> создание именно такого софта. Когда экономят на документации, экономят
> на удобочитаемости кода из соображений "а, все равно никто разбираться
> не будет, все будут использовать как есть".

Когда-то давно в IT разрабатывались инструменты для решения различных задач. И 
в 90-х бродя по всяким выставкам вроде tibo я встречал именно инструменты, а не 
только готовые наборы для «сделайте мне хорошо». Но как-то незаметно 
инструменты пропали и кругом стали предлагать одни только «решения» для всего и 
вся. И на эти tibo ходить стало неинтересно от слова «совсем».



Re: Проверить на наличие железяки

2016-09-22 Пенетрантность Eugene Berdnikov
On Thu, Sep 22, 2016 at 02:48:11PM +0300, Victor Wagner wrote:
> On Thu, 22 Sep 2016 13:08:44 +0300
> Eugene Berdnikov  wrote:
> >  Чтобы написать, много чего ещё нужно. Монитор, клавиатура, культурный
> >  слой (умение читатать, знание того что такое алгоритм и т.д.).
> >  Вот только писателей софта едва ли 1/10 от числа пользователей
> >  (скорее даже меньше 1/100). Так что не надо точку зрения
> > программистов выдавать за абсолют за всех. Удивитесь тому, что на в
> > мире есть очень много людей, и всех очень разные шкалы ценностей.
> > Взгляды на то, что такое свобода тоже сильно различаются, в том числе
> > по отношению к ПО.
> 
> Пару сотен лет назад Иван Андреич Крылов написал басню "Свинья под
> Дубом". Я как раз про то, про что написано в этой басне.
> Если тебе, персонаж басни, не нужна свобода, а нужны только её плоды,
> не следует пытаться продемонсттрировать что ты лучше того меньшинства,
> которому эта свобода нужна. Потому что твои желуди, которыми ты
> питаешься, вырастают благодаря им.

 Вы где-то нашли у меня слова о том, что большинство не-программистов
 считает себя ЛУЧШЕ меньшинства? Цитата сверху, покажите, pls.

 Я писал про разные шкалы ценностей. Поясняю для тех, кто с трудом
 понимает: разные шкалы ценностей -- это ситуация, когда то, что
 для одного является ценностью (как та пресловутая свобода сорцов)
 для другого такой ценностью не является. А иногда даже наоборот,
 считается негативом. Потому что отношение людей к какому-то явлению
 разное, вплоть до ситуации "что русскому благо -- то немцу смерть",
 а вовсе не потому, что одни люди считают себя лучше других.

> Моя претензия  в первую очередь к тем, кто гордится своим нежеланием
> знать. Не знаешь - молчи в тряпочку. А не пытайся доказать другим, что
> знать и не надо.

 Я так понимаю, что это намёк, будто я в этой беседе кичился своим
 невежеством? Виктор, прежде чем писать в рассылку, следует внимательнее
 читать то, на что отвечаешь.

 P.S. Вы меня, однако, разочаровали своим экстремизмом, претензиями
 на абсолютную истину и передёргиваниями, доходящими до троллинга.
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-22 Пенетрантность Denis

22.09.2016 11:57, Victor Wagner пишет:


Это очень странно. Я вижу две странности.
1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с
imap-сервером при помощи телнета. Там же все настолько текстовое и
понятное.
2. Вспомнив о необходимости изучать протокол, почему-то подумать об
изучении его не по RFC (хотя там все понятным английским языком
написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в нем
разобраться - я его прочитал и понял еще году в 96, примерно через год
после начала использования Linux), и даже не по исходникам reference
implentation, каковой является pine/alpine и uw-imapd, а по исходникам
imapsync. Это из серии "Рабинович по телефону напел".

То есть с выбором софта (для изучения) у тебя уже возникают сложности.
даже в той области, которой ты занимаешься 20 лет. А все потому что не
пытаешься понимать, действуешь методом тыка, не прослеживаешь историю
создания софта, идеологию, которой руководствовались его авторы.


Люто бешено апплодирую и ищу где тут можно плюсовать. Задолбало видеть 
экономистов не разбирающихся в экономике, механиков не понимающих ДВС и 
прочих "профессионалов", так и не смогших осознать чем и почему они на 
этом свете занимаются.

И не считающих это положение странным.
P.S. из этого НЕ следует, что я отношу г. Бердникова к этим которые.

--
. ''`.
: :’  :
`. `~’
  `-



Re: Проверить на наличие железяки

2016-09-22 Пенетрантность Victor Wagner
On Thu, 22 Sep 2016 13:08:44 +0300
Eugene Berdnikov  wrote:


>  Чтобы написать, много чего ещё нужно. Монитор, клавиатура, культурный
>  слой (умение читатать, знание того что такое алгоритм и т.д.).
>  Вот только писателей софта едва ли 1/10 от числа пользователей
>  (скорее даже меньше 1/100). Так что не надо точку зрения
> программистов выдавать за абсолют за всех. Удивитесь тому, что на в
> мире есть очень много людей, и всех очень разные шкалы ценностей.
> Взгляды на то, что такое свобода тоже сильно различаются, в том числе
> по отношению к ПО.

Пару сотен лет назад Иван Андреич Крылов написал басню "Свинья под
Дубом". Я как раз про то, про что написано в этой басне.
Если тебе, персонаж басни, не нужна свобода, а нужны только её плоды,
не следует пытаться продемонсттрировать что ты лучше того меньшинства,
которому эта свобода нужна. Потому что твои желуди, которыми ты
питаешься, вырастают благодаря им.

Моя претензия  в первую очередь к тем, кто гордится своим нежеланием
знать. Не знаешь - молчи в тряпочку. А не пытайся доказать другим, что
знать и не надо.



> > >  Понимать при этом, что там этот софт делает -- по большей части
> > >  не является необходимостью. Например, занимаясь сопровождением
> > >  почтовых систем уже два десятка лет, я довольно поверхностно знаю
> > >  протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть
> > >  она мне и даром не нужна, эта свобода. Хотя кому-то может быть
> > >  интересно изучать IMAP по исходникам, например, imapsync'а.  
> > 
> > Это очень странно. Я вижу две странности.
> > 
> > 1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с
> > imap-сервером при помощи телнета. Там же все настолько текстовое и
> > понятное.  
> 
>  Ну вот расскажите нам, как понять что такое UIDVALIDITY, глядя лишь
>  в протокол сессии IMAP и не прибегая к RFC. Разумеется, перевод слова
>  "validity" и что скрывается за аббревиатурой UID будем считать
> известным. Изложите логическую последовательность, с удовольствием
> почитаю.
[skip]
> > 2. Вспомнив о необходимости изучать протокол, почему-то подумать об
> > изучении его не по RFC (хотя там все понятным английским языком
> > написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в
> > нем разобраться - я его прочитал и понял еще году в 96, примерно
> > через год после начала использования Linux), и даже не по
> > исходникам reference implentation, каковой является pine/alpine и
> > uw-imapd, а по исходникам imapsync. Это из серии "Рабинович по
> > телефону напел".   
> 
Так, похоже ты разучился понимать не только сложные концепции из
области IT, но и текст, написанный по-русски.  Я пишу, что главная
странность в том, что ты предлагаешь изучать IMAP по исходникам
imapsync а не по RFC, а ты мне начинаешь возражать, что понять IMAP
путем только эксперементов telnet-ом нельзя, надо читать RFC.


>  Тогда о каком "понимании" речь в словах "главная свобода во free
> software - это свобода ПОНИМАТЬ что твой компьютер делает"? Вы вообще
> что хотите понимать в работе программы? Скажите конкретно. Скажем,
> если интересуют системные вызовы и их параметры -- для это исходники
> не нужны, в юниксах есть strace/truss/tusc и т.п. утилиты для этого,
> можно дебаггерами решить эту задачу. Как для опенсорца, так и для
> проприетарного софта.

Нельзя решить задачу понимания логики поведения даже конкретной
программы только дебаггером. Потому что никогда у тебя не хватит ни
времени, ни воображения для того, чтобы написать такой test suite,
который вызовет срабатывание обоих веток в каждом условии.

Конечно, иногда дебаггер помогает разобраться в нетривиальном поведении
чужого кривого кода. Но вообще есть эмпирическое правило - если тебе
понадобился дебаггер, т.е. ты не смог понять, что делает код, путем его
чтения, то код, с которым ты работаешь, крив. Если это твой код - выкинь
и перепиши сначала. Прямой код при чтении дает больше информации чем
при пошаговом прогоне, потому что читатель видит все особые случаи и
реакцию на них. А нормальная программа состоит из обработки особых
случаев вообще процентов на 95.

А чтобы понять что делают системные вызовы нужна единственная утилита -
man. А вообще для этого лучше APUE читать. Но, к сожалению, иногда
оказывается, что системные вызовы ведут себя не так, как написано у
Стивенса, а реализации протоколов - не так, как описано в RFC. И тогда
приходится лезть в их код.



> 
>  Прежде всего, изучать какую-то область я не начинаю с чтения софта.

А из твоего предыдущего письма можно было сделать строго
противоположный вывод. Что ты рекомендуешь изучать imap по исходникам
imapsync. 

IMAP - это образцовый вариант, когда так делать не надо. Есть внятный
RFC, есть возможность поиграться с протоколом интерактивно, есть
reference implementation, есть хорошо документированные библиотеки для
различных языков программирования.

Но существуют ситуации когда кроме исходников читать больше
нечего. Вот, например, с чего ты порекомендуешь изучать функционирование

Re: Проверить на наличие железяки

2016-09-22 Пенетрантность Eugene Berdnikov
On Thu, Sep 22, 2016 at 07:57:14AM +0300, Victor Wagner wrote:
> On Thu, 22 Sep 2016 01:38:54 +0300
> Eugene Berdnikov  wrote:
...
> > > Потому что главная свобода во free software - это свобода
> > > ПОНИМАТЬ  что твой компьютер делает.  
> > 
> >  Для меня лично главная свобода опенсорца -- это свобода ВЫБОРА,
> >  как самого софта, так и того, что и как с ним можно делать.
> 
> Ты понимаешь, что  для того, чтобы у тебя была свобода выбора софта,
> кто-то, например я, этот софт должен написать? А для того, чтобы
> я мог его написать, мне нужно понимание того, что он делает.

 Чтобы написать, много чего ещё нужно. Монитор, клавиатура, культурный
 слой (умение читатать, знание того что такое алгоритм и т.д.).
 Вот только писателей софта едва ли 1/10 от числа пользователей
 (скорее даже меньше 1/100). Так что не надо точку зрения программистов
 выдавать за абсолют за всех. Удивитесь тому, что на в мире есть очень
 много людей, и всех очень разные шкалы ценностей. Взгляды на то, что
 такое свобода тоже сильно различаются, в том числе по отношению к ПО.

> >  Понимать при этом, что там этот софт делает -- по большей части
> >  не является необходимостью. Например, занимаясь сопровождением
> >  почтовых систем уже два десятка лет, я довольно поверхностно знаю
> >  протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть
> >  она мне и даром не нужна, эта свобода. Хотя кому-то может быть
> >  интересно изучать IMAP по исходникам, например, imapsync'а.
> 
> Это очень странно. Я вижу две странности.
> 
> 1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с
> imap-сервером при помощи телнета. Там же все настолько текстовое и
> понятное.

 Ну вот расскажите нам, как понять что такое UIDVALIDITY, глядя лишь
 в протокол сессии IMAP и не прибегая к RFC. Разумеется, перевод слова
 "validity" и что скрывается за аббревиатурой UID будем считать известным.
 Изложите логическую последовательность, с удовольствием почитаю.

 Лично я, помнится, после беглого просмотра нескольких сессий так и
 не уловил смысл uidvalidity и был вынужден прочесть RFC. Хотя особо
 и не напрягался конечно... :) Если хочется напрячься, ещё есть много
 мест для приложения сил -- нерасшифрованных мёртвых яыков, непример.

> 2. Вспомнив о необходимости изучать протокол, почему-то подумать об
> изучении его не по RFC (хотя там все понятным английским языком
> написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в нем
> разобраться - я его прочитал и понял еще году в 96, примерно через год
> после начала использования Linux), и даже не по исходникам reference
> implentation, каковой является pine/alpine и uw-imapd, а по исходникам
> imapsync. Это из серии "Рабинович по телефону напел". 

 Тогда о каком "понимании" речь в словах "главная свобода во free software -
 это свобода ПОНИМАТЬ что твой компьютер делает"? Вы вообще что хотите
 понимать в работе программы? Скажите конкретно. Скажем, если интересуют
 системные вызовы и их параметры -- для это исходники не нужны, в юниксах
 есть strace/truss/tusc и т.п. утилиты для этого, можно дебаггерами
 решить эту задачу. Как для опенсорца, так и для проприетарного софта.

> То есть с выбором софта (для изучения) у тебя уже возникают сложности.
> даже в той области, которой ты занимаешься 20 лет. А все потому что не
> пытаешься понимать, действуешь методом тыка, не прослеживаешь историю
> создания софта, идеологию, которой руководствовались его авторы.

 Прежде всего, изучать какую-то область я не начинаю с чтения софта.
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Thu, 22 Sep 2016 01:38:54 +0300
Eugene Berdnikov  wrote:

> On Wed, Sep 21, 2016 at 11:54:30PM +0300, Victor Wagner wrote:
> > хочется не то что убивать, а доводить до самоубийства особо
> > изощренными способами.  
> 
>  Я тоже умею фигурно цитировать и вырывать фразы из контекста. :)
> 
> > Потому что главная свобода во free software - это свобода
> > ПОНИМАТЬ  что твой компьютер делает.  
> 
>  Для меня лично главная свобода опенсорца -- это свобода ВЫБОРА,
>  как самого софта, так и того, что и как с ним можно делать.

Ты понимаешь, что  для того, чтобы у тебя была свобода выбора софта,
кто-то, например я, этот софт должен написать? А для того, чтобы
я мог его написать, мне нужно понимание того, что он делает.

Я же наблюдаю последнее время такую картину - как только начинаешь где
угодно, вплоть до openssl-devel, спрашивать "а как оно должно работать",
получаешь в ответ: "забей и возьми готовое".

Причем эти любители "добрых советов" даже не понимают, что таким
образом лишают самих себя выбора, отбивая у людей желание создавать
новое. 


>
>  Понимать при этом, что там этот софт делает -- по большей части
>  не является необходимостью. Например, занимаясь сопровождением
>  почтовых систем уже два десятка лет, я довольно поверхностно знаю
>  протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть
>  она мне и даром не нужна, эта свобода. Хотя кому-то может быть
>  интересно изучать IMAP по исходникам, например, imapsync'а.

Это очень странно. Я вижу две странности.

1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с
imap-сервером при помощи телнета. Там же все настолько текстовое и
понятное.
2. Вспомнив о необходимости изучать протокол, почему-то подумать об
изучении его не по RFC (хотя там все понятным английским языком
написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в нем
разобраться - я его прочитал и понял еще году в 96, примерно через год
после начала использования Linux), и даже не по исходникам reference
implentation, каковой является pine/alpine и uw-imapd, а по исходникам
imapsync. Это из серии "Рабинович по телефону напел". 

То есть с выбором софта (для изучения) у тебя уже возникают сложности.
даже в той области, которой ты занимаешься 20 лет. А все потому что не
пытаешься понимать, действуешь методом тыка, не прослеживаешь историю
создания софта, идеологию, которой руководствовались его авторы.



-- 
   Victor Wagner 



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Eugene Berdnikov
On Wed, Sep 21, 2016 at 11:54:30PM +0300, Victor Wagner wrote:
> хочется не то что убивать, а доводить до самоубийства особо изощренными
> способами.

 Я тоже умею фигурно цитировать и вырывать фразы из контекста. :)

> Потому что главная свобода во free software - это свобода
> ПОНИМАТЬ  что твой компьютер делает.

 Для меня лично главная свобода опенсорца -- это свобода ВЫБОРА,
 как самого софта, так и того, что и как с ним можно делать.
 Вот не нравится мне Sendmail, так поставлю Exim: клик и готово.
 Или Postfix, клик и встал. Без лицензий, без переписки, без потерь
 времени и денег. А если что-то глючит, у меня есть ВЫБОР: сменить
 на другой софт, провести диагностику и запостить баг, или же
 залезть глубоко в код, накатать свой патч и отправить авторам.
 Что хочу то и делаю. Цена смены софтины -- несколько кликов.

 Понимать при этом, что там этот софт делает -- по большей части
 не является необходимостью. Например, занимаясь сопровождением
 почтовых систем уже два десятка лет, я довольно поверхностно знаю
 протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть
 она мне и даром не нужна, эта свобода. Хотя кому-то может быть
 интересно изучать IMAP по исходникам, например, imapsync'а.

> Если ты не хочешь пользоваться
> этой свободой, следует сразу покупать себе Мак и продаваться в рабство
> тому кто у них там нынче главный в Apple.

 Вах! Теперь я знаю что должен делать правоверный, если ему не хочется
 пользоваться свободой. Спасибо, наставили на путь истинный. :)))
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 18:15:09 +0300
Eugene Berdnikov  wrote:


>  Тю... Помолился любимому богу, и хряк! Сейф на 15м этаже безо всякой
> там антигравитации. :) Нужен лишь талмуд, чтобы найти там правильные
> молитвы.


>  Собственно, puppet со товарищи и есть те самые "исполнители желаний",
>  в конфиги которых пишутся заклинания. Но особо упоротые джидаи,

А вот людей, которые превращают free software в "заклинания" мне
хочется не то что убивать, а доводить до самоубийства особо изощренными
способами. Потому что главная свобода во free software - это свобода
ПОНИМАТЬ  что твой компьютер делает. Если ты не хочешь пользоваться
этой свободой, следует сразу покупать себе Мак и продаваться в рабство
тому кто у них там нынче главный в Apple.





-- 
   Victor Wagner 



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 21:54:09 +0300
dimas  wrote:

> для этого есть tasksel и dpkg --get/set-selections

--set-selection неудобно. Особенно если ты у машины не единственный
пользователь со своим набором предпочтений. Пакетов с зависимостями
можно поставить столько, сколько надо, а сливать разные списки для
--set-selection придется руками. Поскольку там может быть не только 
install, но и deinstall.

tasksel был бы вариантом, если бы я умел его готовить. Пакеты я
готовить умею, а таски для tasksel-а делать отдельно учиться надо.

А к стандартным таскам у меня отношение такое "ни одной из них ставить
нельзя, поскольку каждая волочет за собой кучу мусора".


-- 
   Victor Wagner 



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность dimas
для этого есть tasksel и dpkg --get/set-selections


2016-265 17:11 Victor Wagner  wrote:
> Поддержка персонального списка пакетов это правильная идея. Я, когда мне
> не лень, оформляю это в виде дебиановского пакета, который зависит от
> тех пакетов, которые мне нужны. Все равно я ко всем машинам подключаю
> свой персональный репозиторий. Стоит поставить пакет
> "my-personal-choices" и все необходимое поставится.



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Tim Sattarov


On 21/09/16 10:11 AM, Victor Wagner wrote:
>
> Я люблю по этому поводу приводить такую аналогию:
>
> Есть задача - поднять сейф на второй этаж. Можно собраться, взять его в
> четвером и затащить по лестнице. А можно быстренько изобрести
> антигравитацию, построить демонстрационный образец антигравитатора и им
> поднять сейф.
моё дело предложить
> Основная проблема в том, что нужно заранее расписывать роли. Когда речь
> идет об информационной системе предприятия, это допустимо. Там
> планирование необходимо. А вот оформление личной сессии в каком-то
> смысле правильнее вести в режиме антипланирования. Вот зачесалась левая
> пятка что-то сделать и сделал. Опять же, если все лежит в scm то
> откатить не долго.
А чем это отличается от прописывания условий в конфигах с детектом
железа и прочими костылями ?
опять же, не обязателен мастер, всё можно делать masterless, держа
конфиги в SCM

>> плюс: все определено, каждая машина точно определена по имени. можно
>> расширить манифест до списка пакетов, которые должны стоять, не только
>> конфиги
> Поддержка персонального списка пакетов это правильная идея. Я, когда мне
> не лень, оформляю это в виде дебиановского пакета, который зависит от
> тех пакетов, которые мне нужны. Все равно я ко всем машинам подключаю
> свой персональный репозиторий. Стоит поставить пакет
> "my-personal-choices" и все необходимое поставится.
персональный список пакетов может меняться от машины к машине, не
собирать же свой мета пакет для каждой из ролей ?



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Andrey Melnikoff
Victor Wagner  wrote:
> On Tue, 20 Sep 2016 22:21:18 +0300
> Andrey Melnikoff  wrote:

> > Victor Wagner  wrote:
> > > Коллеги, 

> > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s
> > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У
> > тебя же не 100 машин?
> > 

> Это что, предлагается редактировать .xsessionrc каждый раз, когда я
> куплю новый ноутбук?

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



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Eugene Berdnikov
On Wed, Sep 21, 2016 at 05:11:50PM +0300, Victor Wagner wrote:
> On Wed, 21 Sep 2016 09:53:23 -0400
> Tim Sattarov  wrote:
>
> > Почитал тред, на мой взгляд эта задача для configuration management
> > систем: puppet, ansible, chef, etc...
> 
> Я люблю по этому поводу приводить такую аналогию:
> 
> Есть задача - поднять сейф на второй этаж. Можно собраться, взять его в
> четвером и затащить по лестнице. А можно быстренько изобрести
> антигравитацию, построить демонстрационный образец антигравитатора и им
> поднять сейф.

 Тю... Помолился любимому богу, и хряк! Сейф на 15м этаже безо всякой там
 антигравитации. :) Нужен лишь талмуд, чтобы найти там правильные молитвы.

 Собственно, puppet со товарищи и есть те самые "исполнители желаний",
 в конфиги которых пишутся заклинания. Но особо упоротые джидаи, конечно,
 под любую задачу изобретают свою собственную антигравитацию...
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 09:53:23 -0400
Tim Sattarov  wrote:

> On 20/09/16 02:17 AM, Victor Wagner wrote:
> > Коллеги, 
> > тут у меня возникла мысль синхронизировать конфигурацию рабочего
> > стола между всеми используемыми мной машинами. 
> >  
> Почитал тред, на мой взгляд эта задача для configuration management
> систем: puppet, ansible, chef, etc...


Я люблю по этому поводу приводить такую аналогию:

Есть задача - поднять сейф на второй этаж. Можно собраться, взять его в
четвером и затащить по лестнице. А можно быстренько изобрести
антигравитацию, построить демонстрационный образец антигравитатора и им
поднять сейф.

> 
> расписываются роли - ноутбук, большой экран, тачпад и прочее и
> комбинируются в хосты

Основная проблема в том, что нужно заранее расписывать роли. Когда речь
идет об информационной системе предприятия, это допустимо. Там
планирование необходимо. А вот оформление личной сессии в каком-то
смысле правильнее вести в режиме антипланирования. Вот зачесалась левая
пятка что-то сделать и сделал. Опять же, если все лежит в scm то
откатить не долго.

> плюс: все определено, каждая машина точно определена по имени. можно
> расширить манифест до списка пакетов, которые должны стоять, не только
> конфиги

Поддержка персонального списка пакетов это правильная идея. Я, когда мне
не лень, оформляю это в виде дебиановского пакета, который зависит от
тех пакетов, которые мне нужны. Все равно я ко всем машинам подключаю
свой персональный репозиторий. Стоит поставить пакет
"my-personal-choices" и все необходимое поставится.


> минус: надо учить что-то новое, ставить дополнительную программу
> 
> 



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Tim Sattarov
On 20/09/16 02:17 AM, Victor Wagner wrote:
> Коллеги, 
> тут у меня возникла мысль синхронизировать конфигурацию рабочего стола
> между всеми используемыми мной машинами. 
>
Почитал тред, на мой взгляд эта задача для configuration management
систем: puppet, ansible, chef, etc...

расписываются роли - ноутбук, большой экран, тачпад и прочее и
комбинируются в хосты

плюс: все определено, каждая машина точно определена по имени. можно
расширить манифест до списка пакетов, которые должны стоять, не только
конфиги
минус: надо учить что-то новое, ставить дополнительную программу




Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 13:36:24 +0300
Eugene Berdnikov  wrote:


>  Но параноик и тут может выпендриться и сказать, что он не хочет
> светить в конфигах аппаратные идентификаторы своего оборудования. :)
> 
> > Как раз от чего мне хочется уйти, так это от необходимости иметь
> > разные настройки своей сессии на разных машинах.  
> 
>  Цена такой хотелки -- полная унификация оборудования. А если хочется
>  иметь одинаково настроенную среду и на огромном мониторе

Ну нифига подобного. Это у нас не винда, которая требует переустановки
при перетыкании диска из машины в машину. Unix-системы всегда
отличались умением адаптироваться к изменением оборудования

> стационарного компьютера, и на маленьком ноутбучном экране, то всегда

А это уж вообще ОБЯЗАНО само настраиваться. Я же могу подключить к
ноутбуку внешний монитор или проектор.

Ну и вообще, конечно, современная молодежь про это уже забыла, но
Unix-система многопользовательская. В старые времена Xt и Motif-а
база данных ресурсов X window собирала свои настройки из настрек хоста,
настроек монитора и настроек приложения, а пользователький
файл .Xdefaults еще и через C-шный препроцессор прогоняла, чтобы
настроить его на параметры конкретного монитора.

Далее, даже в те времена, когда X-терминалы были уже не очень
популярны, было крайне популярно монтирование $HOME по NFS и в
корпоративной среде была типична ситуация когда одни и те же
пользовательские скрипты используются на десятках машин с разными
параметрами.

Я конечно, понимаю, что сейчас GUI-приложения под Linux в основном пишут
люди, которые пытались научиться программировать под Windows, но не
сумели, потому что это оказалось для них слишком сложно.

А люди более-менее способные что-то грамотно спроектировать, от GUI нос
воротят.





Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Eugene Berdnikov
On Wed, Sep 21, 2016 at 12:42:49PM +0300, Victor Wagner wrote:
> А завтра у меня сдохнет винчестер, я восстановлюсь с бэкапа и uuid
> файловой системы поменяется.

 tune2fs -U uuid
 xfs_admin -U uuid
 ...

> Или наоборот - переставлю этот диск из
> одного ноутбука в другой, а в этот поставлю больший. Корневая файловая
> система не имеет никакого отношения к наличию у машины позционирующих
> устройств.

 dmidecode -s baseboard-serial-number
 dmidecode -s chassis-serial-number

 Но параноик и тут может выпендриться и сказать, что он не хочет светить
 в конфигах аппаратные идентификаторы своего оборудования. :)

> Как раз от чего мне хочется уйти, так это от необходимости иметь разные
> настройки своей сессии на разных машинах.

 Цена такой хотелки -- полная унификация оборудования. А если хочется
 иметь одинаково настроенную среду и на огромном мониторе стационарного
 компьютера, и на маленьком ноутбучном экране, то всегда найдутся утилиты,
 которые придётся запускать с разными параметрами.

 Унификация конфигов -- это идеал, к которому следует стремиться
 (и это правильно), но который в реальности обычно недостижим.
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 11:53:49 +0300
Eugene Berdnikov  wrote:

>  В скрипте незачем указывать полный список машин. Для исключения
>  достаточно указать одну, вписав её имя (или mac-адрес, или же,
>  для абсолютно упоротых параноиков, которые не хотят оставлять никаких
>  следов в сети -- невидимый извне uuid корневой файловой системы).
> 

А завтра у меня сдохнет винчестер, я восстановлюсь с бэкапа и uuid
файловой системы поменяется. Или наоборот - переставлю этот диск из
одного ноутбука в другой, а в этот поставлю больший. Корневая файловая
система не имеет никакого отношения к наличию у машины позционирующих
устройств.


Люди почему-то очень любят все делать через задницу. Например
оплачивать автомобильные дороги за счет акцизов на бензин. А в
результате приходится запрещать заправлять машины растительным маслом,
на котором жарили картошку. Пусть это экономично и экологично, но акциз
не заплачен.

Как раз от чего мне хочется уйти, так это от необходимости иметь разные
настройки своей сессии на разных машинах.


>  Но речь вообще-то шла не о параноиках, а о том, что придумать правила
>  на все случаи жизни невозможно. Можно только минизировать затраты.
>  И в этом плане совет воспользоваться dmidecode выглядит разумным.

На мой взгляд, совет держать в голове особенности различия машин как
целостных объектов не выглядит разумным. Я уж не говорю, что dmidecode
это вообще pc-специфичная фигня, и работать на машинах с другой
архитектурой (на тех же Raspberry Pi) она нифига не будет.



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Eugene Berdnikov
On Wed, Sep 21, 2016 at 11:06:35AM +0300, Victor Wagner wrote:
> On Wed, 21 Sep 2016 11:00:38 +0300
> Eugene Berdnikov  wrote:
> 
> > On Wed, Sep 21, 2016 at 10:47:57AM +0300, Victor Wagner wrote:
> > > Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны
> > > правильно, то по факту необнаружения трэкпойнта автоматически
> > > заработает тачпад.  
> > 
> >  Не заработает. Потому что трекпойнт сдохнет так, что работать
> >  не будет, но с точки зрения системы будет присутствовать и
> >  определяться точно так же, как и раньше. :)
> > 
> >  Так что соломки на весь космодром не настелешься. Придётся для
> >  конкретного сломаного ноута вставлять в скрипт исключение.
> 
> Вообще не следует забывать и о том, что может внимательный читатель
> прочитать в этом скрипте.
> 
> Скрипт-то синхронизируется посредством общедоступного scm-репозитория.
> Одно дело, если все что можно узнать из этого скрипта, это то, что у
> меня есть/был ноутбук с трэкпойнтом (об этом я уже все равно в этой
> рассылке признался) и другое, если там будет полный список машин, на
> которых я использую этот скрипт.

 В скрипте незачем указывать полный список машин. Для исключения
 достаточно указать одну, вписав её имя (или mac-адрес, или же,
 для абсолютно упоротых параноиков, которые не хотят оставлять никаких
 следов в сети -- невидимый извне uuid корневой файловой системы).

> Впрочем тут в этом треде есть люди, которые не просто признаются что
> используют дропбокс и гмейл (то есть отдают всю свою информацию дяде,
> который будет использовать ее для таржетированной рекламы), но и другим
> этот подход рекомендуют.

 Среди других есть такие, которые параноей не страдают, и тем самым
 экономят своё время и силы. И это при их стиле жизни вполне разумно,
 если они не занимаются торговлей наркотиками или кражей гостайн.

 Но речь вообще-то шла не о параноиках, а о том, что придумать правила
 на все случаи жизни невозможно. Можно только минизировать затраты.
 И в этом плане совет воспользоваться dmidecode выглядит разумным.
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Илья
В Wed, 21 Sep 2016 11:06:35 +0300
Victor Wagner  пишет:

> On Wed, 21 Sep 2016 11:00:38 +0300
> Eugene Berdnikov  wrote:

> Вообще не следует забывать и о том, что может внимательный
> читатель прочитать в этом скрипте.
> 
> Скрипт-то синхронизируется посредством общедоступного
> scm-репозитория. Одно дело, если все что можно узнать из
> этого скрипта, это то, что у меня есть/был ноутбук с
> трэкпойнтом (об этом я уже все равно в этой рассылке
> признался) и другое, если там будет полный список машин, на
> которых я использую этот скрипт.

Ну тогда может делить скрипт на два: общий код и
необязательный для конкретной машины. Из общего скрипта
делать вызов типа exec myscript.`hostname`. Опциональный не
синхронизировать - тогда совсем анонимно будет. Мне кажется
это стандартный подход - по типу source.conf и source.conf.d/.




Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 11:00:38 +0300
Eugene Berdnikov  wrote:

> On Wed, Sep 21, 2016 at 10:47:57AM +0300, Victor Wagner wrote:
> > Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны
> > правильно, то по факту необнаружения трэкпойнта автоматически
> > заработает тачпад.  
> 
>  Не заработает. Потому что трекпойнт сдохнет так, что работать
>  не будет, но с точки зрения системы будет присутствовать и
>  определяться точно так же, как и раньше. :)
> 
>  Так что соломки на весь космодром не настелешься. Придётся для
>  конкретного сломаного ноута вставлять в скрипт исключение.

Вообще не следует забывать и о том, что может внимательный читатель
прочитать в этом скрипте.

Скрипт-то синхронизируется посредством общедоступного scm-репозитория.
Одно дело, если все что можно узнать из этого скрипта, это то, что у
меня есть/был ноутбук с трэкпойнтом (об этом я уже все равно в этой
рассылке признался) и другое, если там будет полный список машин, на
которых я использую этот скрипт.

Впрочем тут в этом треде есть люди, которые не просто признаются что
используют дропбокс и гмейл (то есть отдают всю свою информацию дяде,
который будет использовать ее для таржетированной рекламы), но и другим
этот подход рекомендуют.



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Eugene Berdnikov
On Wed, Sep 21, 2016 at 10:47:57AM +0300, Victor Wagner wrote:
> Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны
> правильно, то по факту необнаружения трэкпойнта автоматически
> заработает тачпад.

 Не заработает. Потому что трекпойнт сдохнет так, что работать
 не будет, но с точки зрения системы будет присутствовать и
 определяться точно так же, как и раньше. :)

 Так что соломки на весь космодром не настелешься. Придётся для
 конкретного сломаного ноута вставлять в скрипт исключение.
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Victor Wagner
On Wed, 21 Sep 2016 10:27:49 +0300
Eugene Berdnikov  wrote:

> > 
> > Это что, предлагается редактировать .xsessionrc каждый раз, когда я
> > куплю новый ноутбук?  
> 
>  Какая разница, что редактировать? Какой-то скрипт всё равно править.

Разница в том, КОГДА править. Когда изменятся конкретные условия, на
которые надо реагировать, или желаемая реакция на условия.

А не когда сменится имя того объекта, внутри которого эти условия. 

Я всегда был противником суррогатных ключей в базе данных. Естественные
ключи правильнее.

Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны
правильно, то по факту необнаружения трэкпойнта автоматически
заработает тачпад.

--



Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Vasiliy P. Melnik
Лично я решаю данный вопрос хранением документов в дропбоксе и пользованием
почты на гмыле чрезе броузер, настройки броузеры давно умеют
синхронизироваться через инет. Единственное что делаю руками - это
синхронизирую ярлыки подключения к серверам, рсинком.

в арсенале - машина дома, машина на работе и ноут, каких-то неудобств не
испытываю совсем

21 сентября 2016 г., 10:27 пользователь Eugene Berdnikov 
написал:

> On Wed, Sep 21, 2016 at 07:07:17AM +0300, Victor Wagner wrote:
> > On Tue, 20 Sep 2016 22:21:18 +0300
> > Andrey Melnikoff  wrote:
> > > Victor Wagner  wrote:
> >
> > > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s
> > > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У
> > > тебя же не 100 машин?
> >
> > Это что, предлагается редактировать .xsessionrc каждый раз, когда я
> > куплю новый ноутбук?
>
>  Какая разница, что редактировать? Какой-то скрипт всё равно править.
>
>  Вот придёт новый ноут, а на нём нет тачпада, и вааще... телекинез
>  вынесли в модуль экстрасенсорики, астральное питалово в universed,
>  драйвер антигравитации глючит и для него нужно реактор бустировать.
>  Вы надеетсь выстелить соломкой весь этот космодром? Ню-ню... :)
> --
>  Eugene Berdnikov
>
>


Re: Проверить на наличие железяки

2016-09-21 Пенетрантность Eugene Berdnikov
On Wed, Sep 21, 2016 at 07:07:17AM +0300, Victor Wagner wrote:
> On Tue, 20 Sep 2016 22:21:18 +0300
> Andrey Melnikoff  wrote:
> > Victor Wagner  wrote:
> 
> > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s
> > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У
> > тебя же не 100 машин?
> 
> Это что, предлагается редактировать .xsessionrc каждый раз, когда я
> куплю новый ноутбук?

 Какая разница, что редактировать? Какой-то скрипт всё равно править.

 Вот придёт новый ноут, а на нём нет тачпада, и вааще... телекинез
 вынесли в модуль экстрасенсорики, астральное питалово в universed,
 драйвер антигравитации глючит и для него нужно реактор бустировать.
 Вы надеетсь выстелить соломкой весь этот космодром? Ню-ню... :)
-- 
 Eugene Berdnikov



Re: Проверить на наличие железяки

2016-09-20 Пенетрантность Victor Wagner
On Tue, 20 Sep 2016 22:21:18 +0300
Andrey Melnikoff  wrote:

> Victor Wagner  wrote:
> > Коллеги, 

> Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s
> "baseboard-product-name"' и нарисуй себе включатели-выключатели. У
> тебя же не 100 машин?
> 

Это что, предлагается редактировать .xsessionrc каждый раз, когда я
куплю новый ноутбук?





-- 
   Victor Wagner 



Re: Проверить на наличие железяки

2016-09-20 Пенетрантность Victor Wagner
On Tue, 20 Sep 2016 17:05:42 +0300 (MSK)
yuri.nefe...@gmail.com wrote:


> 
>   А не проще сразу по hostname переключение делать?
>   Я к тому, что пока тестировать будете, как раз всё и определится.
> 

Не проще. Вдруг у меня второй Thinkpad заведется.

>   Кроме того есть у xinput неприятная особенность время от времени
>   формат вывода менять.

Ну уж слова "IBM TrackPoint" он оттуда вряд ли потеряет.

>   В sysfs может содержатся и touchpad. Скажем, мне проще

Ну я бы сказал, что там все pointing device там должны быть.

> выключать\выключать его через
> файл: /sys/devices/platform/sony-laptop/touchpad
> 
>   Не совсем связанный с этим, но тоже интересный вопрос:
>   как принтер по умолчанию задавать?
>   Что бы на ноутбуке, в зависимости от местоположения - дома, на
>   работе, автоматический выставлялся нужный принтер.


Раньше, во времена lpd можно было по dhcp lpd-servers раздавать.

>   Пока я обхожусь обвязкой вокруг lpr: wlpr для работы, но
>   может быть есть более умные решения?
> 
> Ю.



-- 
   Victor Wagner 



Re: Проверить на наличие железяки

2016-09-20 Пенетрантность Andrey Melnikoff
Victor Wagner  wrote:
> Коллеги, 
> тут у меня возникла мысль синхронизировать конфигурацию рабочего стола
> между всеми используемыми мной машинами. Благо с отказом от LXDE и
> переходом на JWM это стало технически просто - хоть в version control
> коммить, хоть просто rsync-ай.

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

Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s 
"baseboard-product-name"'
и нарисуй себе включатели-выключатели. У тебя же не 100 машин?



Re: Проверить на наличие железяки

2016-09-20 Пенетрантность yuri . nefedov

On Tue, 20 Sep 2016, Victor Wagner wrote:


On Tue, 20 Sep 2016 12:06:00 +0300
dimas  wrote:


про батарейку нашел вот такую штуку в /sys:
/sys/class/power_supply/BAT0


О, спасибо, про существование в sysfs иерархии class-то я и забыл.



по тычпаду - что-то типа
xinput list --name-only | grep "ТычСтик" &>/dev/null && \
xinput disable "SynPS/2 Synaptics TouchPad"
имена девайсов меняем на те, что даст xinput. можно сделать


Вот не было у меня привычки держать утилиту xinput установленной.
Но, пожалуй, на Thinkpad специально ради этой проверки я ее поставлю.

А для прочих напишу условие вида

if [ -x /usr/bin/xinput ] && xinput list |grep -q "IBM TrackPoint"; then
synclient TouchPadOff=1
fi

В смысле, если я сюда не ставил xinput, то  и отключать ничего не надо.



 А не проще сразу по hostname переключение делать?
 Я к тому, что пока тестировать будете, как раз всё и определится.

 Кроме того есть у xinput неприятная особенность время от времени
 формат вывода менять.

 В sysfs может содержатся и touchpad. Скажем, мне проще выключать\выключать
 его через файл: /sys/devices/platform/sony-laptop/touchpad

 Не совсем связанный с этим, но тоже интересный вопрос:
 как принтер по умолчанию задавать?
 Что бы на ноутбуке, в зависимости от местоположения - дома, на
 работе, автоматический выставлялся нужный принтер.
 Пока я обхожусь обвязкой вокруг lpr: wlpr для работы, но
 может быть есть более умные решения?

Ю.

Re: Проверить на наличие железяки

2016-09-20 Пенетрантность Victor Wagner
On Tue, 20 Sep 2016 12:06:00 +0300
dimas  wrote:

> про батарейку нашел вот такую штуку в /sys:
> /sys/class/power_supply/BAT0

О, спасибо, про существование в sysfs иерархии class-то я и забыл.


> по тычпаду - что-то типа
> xinput list --name-only | grep "ТычСтик" &>/dev/null && \
>   xinput disable "SynPS/2 Synaptics TouchPad"
> имена девайсов меняем на те, что даст xinput. можно сделать

Вот не было у меня привычки держать утилиту xinput установленной.
Но, пожалуй, на Thinkpad специально ради этой проверки я ее поставлю.

А для прочих напишу условие вида

if [ -x /usr/bin/xinput ] && xinput list |grep -q "IBM TrackPoint"; then
 synclient TouchPadOff=1
fi

В смысле, если я сюда не ставил xinput, то  и отключать ничего не надо.





Re: Проверить на наличие железяки

2016-09-20 Пенетрантность dimas
про батарейку нашел вот такую штуку в /sys:
/sys/class/power_supply/BAT0
не могу проверить, будет ли она на стационарном компе, ибо на единственном
имеющемся отключен в ведре весь acpi, но логика подсказывает, что быть там
такой папки не должно)) ну и внутри есть файлик type, выдающий "battery".
или вот тут еще пишут про разные тулзы для мониторинга батарейки - можно
попарсить их вывод, но через sysfs как-то проще:
https://blog.sleeplessbeastie.eu/2013/01/02/debian-how-to-monitor-battery-capacity/

по тычпаду - что-то типа
xinput list --name-only | grep "ТычСтик" &>/dev/null && \
xinput disable "SynPS/2 Synaptics TouchPad"
имена девайсов меняем на те, что даст xinput. можно сделать
grep -E "(тычстик|mouse)"
на предмет наличия хотя бы одного из желаемых девайсов


2016-264 09:17 Victor Wagner  wrote:
> Коллеги, 
> тут у меня возникла мысль синхронизировать конфигурацию рабочего стола
> между всеми используемыми мной машинами. Благо с отказом от LXDE и
> переходом на JWM это стало технически просто - хоть в version control
> коммить, хоть просто rsync-ай.
> 
> Но столкнулся с вот такой проблемой - некоторые апплеты, которые
> хочется видеть в трее, хочется видеть только на устройствах, где есть
> определенные аппаратные компоненты.
> 
> Например, fdpowermon имеет смысл запускать только там, где есть
> аккумулятор. 
> 
> Есть и более сложная задача - вот у меня есть ноутбук Thinkpad, на
> котором кроме общепринятого нынче тачпада есть touchstick, который
> гораздо удобнее.
> Поэтому на нем из .xsessionrc вызывается
> 
> synclient TouchpadOff=1
> 
> Чтобы, если попадешь по этому дурацкому тачпаду ладонью при работе на
> клавиатуре, курсор никуда не уехал.
> 
> Но когда я по ошибке скопировал этот xsessionrc на EeePC 900, то курсор
> мыши стало двигать вообще нечем.
> То есть задача - если на устройстве есть тачпад, но нет никакого
> другого позиционирующего устойства, то тачпад не отключать, а если есть
> тачпад и кое что еще - отключать.
> 
> Для батарейки нашел вроде решение 
> 
> test -n "`ls -1 /sys/bus/acpi/drivers/battery |fgrep -v 'bind
> uevent
> unbind`"
> 
> Но какое-то оно громоздкое.
> 
> Самое простое решение - для wpa_gui - если control socket
> wpa_supplicant writable для текущего юзера, то имеет смысл запускать.
> 
> 



Проверить на наличие железяки

2016-09-20 Пенетрантность Victor Wagner
Коллеги, 
тут у меня возникла мысль синхронизировать конфигурацию рабочего стола
между всеми используемыми мной машинами. Благо с отказом от LXDE и
переходом на JWM это стало технически просто - хоть в version control
коммить, хоть просто rsync-ай.

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

Например, fdpowermon имеет смысл запускать только там, где есть
аккумулятор. 

Есть и более сложная задача - вот у меня есть ноутбук Thinkpad, на
котором кроме общепринятого нынче тачпада есть touchstick, который
гораздо удобнее.
Поэтому на нем из .xsessionrc вызывается

synclient TouchpadOff=1

Чтобы, если попадешь по этому дурацкому тачпаду ладонью при работе на
клавиатуре, курсор никуда не уехал.

Но когда я по ошибке скопировал этот xsessionrc на EeePC 900, то курсор
мыши стало двигать вообще нечем.
То есть задача - если на устройстве есть тачпад, но нет никакого
другого позиционирующего устойства, то тачпад не отключать, а если есть
тачпад и кое что еще - отключать.

Для батарейки нашел вроде решение 

test -n "`ls -1 /sys/bus/acpi/drivers/battery |fgrep -v 'bind
uevent
unbind`"

Но какое-то оно громоздкое.

Самое простое решение - для wpa_gui - если control socket
wpa_supplicant writable для текущего юзера, то имеет смысл запускать.