LINUX.ORG.RU

Сообщения Slack

 

Роутер как принт-сервер.

Смотрите, есть принтер самсунг с юсби-портом, и нет места на столе с компом, куда ставить этот принтер. Хочу поставить принтер отдельно, подключив его по вай фай к локалке. Стал смотреть принтсерверы, но они достаточно дороги, подумал, что можно взять какой-нибудь сохо-роутер, водрузить туда OpenWrt, перевести wifi в режим клиента, подключится им к сети, подключить принтер к роутеру по юсби и все. Ну и настроить софт разумеется. Но я чот стал читать все эти форумы, чтобы выбрать железку, тут надо принтер десять раз переткнуть в юсби перед печатью, там еще какие-то вилы. Может кто-то делал подобное, и может посоветовать недорогую железку (буду скорее всего брать бу на авите), которая будет стабильно работать для моей задачи?

 

Slack
()

Раньше было лучше!

Мне вот очень режет глаз плашка с выбором разделов сайта.

И хочу напомнить, вот так она выглядела в 2006 году: https://i.ibb.co/cvfg9bR/2022-12-08-203407-327x88-scrot.png

Все ровно и красиво.

И сейчас - криво и косо: https://i.ibb.co/FD7yg0c/2022-12-08-203420-307x126-scrot.png О собенно режет глаз «Статьи». Можно ли с этим что-то сделать?

 

Slack
()

Переключение звука FreeBSD

Есть ноут ThinkPad x250 c разьемом под джек, который норм работает, в device.hint написано следующее (в принципе оно само так определяется, и без хинтов:

hint.hdaa.1.nid20_config="as=1 seq=0"
hint.hdaa.1.nid21.config="as=1 seq=15"
в пиндампе оно так с вставленными наушниками в ноут:
hdaa1: Dumping AFG pins:
hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
hdaa1: 18 90a60130 3  0  Mic           Fixed Digital Internal   Unknown 1
hdaa1:     Caps: IN                 
hdaa1: 19 40000000 0  0  Line-out      None  Unknown 0x00       Unknown 0 DISA
hdaa1:     Caps: IN                 
hdaa1: 20 90170110 1  0  Speaker       Fixed Analog  Internal   Unknown 1
hdaa1:     Caps:    OUT    EAPD     
hdaa1: 21 0421101f 1  15 Headphones    Jack  1/8     Right      Black   0
hdaa1:     Caps:    OUT HP EAPD      Sense: 0x80000000 (connected)
hdaa1: 22 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps:    OUT HP EAPD      Sense: 0x00000000 (disconnected)
hdaa1: 24 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps: IN OUT         VREF Sense: 0x00000000 (disconnected)
hdaa1: 25 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps: IN                  Sense: 0x00000000 (disconnected)
hdaa1: 26 04a11020 2  0  Mic           Jack  1/8     Right      Black   0
hdaa1:     Caps: IN             VREF Sense: 0x80000000 (connected)
hdaa1: 27 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps: IN OUT         VREF Sense: 0x00000000 (disconnected)
hdaa1: 30 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps:    OUT              Sense: 0x00000000 (disconnected)
hdaa1: NumGPIO=5 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1

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

hdaa1: Dumping AFG pins:
hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
hdaa1: 18 90a60130 3  0  Mic           Fixed Digital Internal   Unknown 1
hdaa1:     Caps: IN
hdaa1: 19 40000000 0  0  Line-out      None  Unknown 0x00       Unknown 0 DISA
hdaa1:     Caps: IN
hdaa1: 20 90170110 1  0  Speaker       Fixed Analog  Internal   Unknown 1
hdaa1:     Caps:    OUT    EAPD
hdaa1: 21 0421101f 1  15 Headphones    Jack  1/8     Right      Black   0
hdaa1:     Caps:    OUT HP EAPD      Sense: 0x00000000 (disconnected)
hdaa1: 22 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps:    OUT HP EAPD      Sense: 0x80000000 (connected)
hdaa1: 24 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps: IN OUT         VREF Sense: 0x00000000 (disconnected)
hdaa1: 25 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps: IN                  Sense: 0x80000000 (connected)
hdaa1: 26 04a11020 2  0  Mic           Jack  1/8     Right      Black   0
hdaa1:     Caps: IN             VREF Sense: 0x00000000 (disconnected)
hdaa1: 27 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps: IN OUT         VREF Sense: 0x00000000 (disconnected)
hdaa1: 30 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
hdaa1:     Caps:    OUT              Sense: 0x00000000 (disconnected)
hdaa1: NumGPIO=5 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1

Казалось бы, делов то, пишем в device.hint так:

hint.hdaa.1.nid20_config="as=1 seq=0"
hint.hdaa.1.nid21.config="as=1 seq=15"
hint.hdaa.1.nid22.config="as=1 seq=15 device=Headphones conn=Jack"
Но после этого звук не работает нигде. Что я не так делаю?

 ,

Slack
()

Подскажите аналог OfflineIMAP

Раньше пользовался для выгребания почты на диск для Mutt OfflineIMAP, но там древнаяя версия питона, которая уже deprecated. Есть imapsync, который умеет синкать из одного IMAP-аккаунта в другой, и как я понял, сказать ему - клади вот на диск - нельзя. Можно конечно извратится и поднять локальный IMAP, но это как-то страннно. Есть isync, но он не умеет в русские буквы IMAP-директорий, а mutt показывает директории с диска как есть. Можно напрямую забирать мутом письма с imap, но он кажется работает в один поток, а когда овердофига ящиков/писем/директорий - он это всё проверяет тоже в один поток и долго очень все.

 , ,

Slack
()

FVWMButton Как отображать «нажатую» кнопку.

Есть 4 рабочих стола, при переключении на которых хочется менять обоину.

Переключаюсь шорткатами и кнопочками на панельке. С шорткатами все понятно:

DestroyFunc FuncFvwmDesk0
AddToFunc   FuncFvwmDesk0
+ I GotoDesk 0 0
+ I exec fvwm-root ~/.fvwm/wallpaper/wallcde01.xpm

DestroyFunc FuncFvwmDesk1
AddToFunc   FuncFvwmDesk1
+ I GotoDesk 0 1
+ I exec fvwm-root ~/.fvwm/wallpaper/wallcde02.xpm
...
Key F1           A       M       FuncFvwmDesk0
Key F2           A       M       FuncFvwmDesk1
...

А через FVWMButton возникают сложности. Сейчас у меня прописано так:

FvwmButton-DesktopPanel: (36x11+0+0, Id desk0, Title (Left) " One", Action (Mouse 1) "GotoDesk 0 0", Colorset 04, ActiveColorset 04, Frame 2)
*FvwmButton-DesktopPanel: (36x11-0+0, Id desk1, Title (Left) " Two", Action (Mouse 1) "GotoDesk 0 1", Colorset 05, ActiveColorset 05, Frame 2)
и оно ведет себя, как нужно - нажал на кнопку рабочего стола, переключились на него, и кнопка рабочего стола стала нажатой. Когда переключился шоткатом, кнопка рабочего стола, на который перешел, тоже сама нажимается.

Если написать

FvwmButton-DesktopPanel: (36x11+0+0, Id desk0, Title (Left) " One", Action (Mouse 1) FuncFvwmDesk0, Colorset 04, ActiveColorset 04, Frame 2)
...
То, после переключения на рабочий стол, кнопка будет в «отжатом» состоянии. Как это можно поменять?

 

Slack
()

Раскладка ru_mac в gnome

А подскажите, как средствами GNOME сменить раскладку на Mac (или legacy) c точкой где 7? Как сделать это средствами X.org в курсе, но может можно это сделать как-то средствами DE?

 

Slack
()

fvwm Maximize

Привет.

Не могу что-то найти функцию, помню, что была. Нужно, что при Maximize окно разворачивалось на экран, а если на экране уже есть другое окно - разворачивалось до него. Maximize 100 100 разумеется, реализует только первую часть.

 

Slack
()

pidgin табы в несколько рядов.

Можно ли как-то в пиджине организовать работу с вкладками? Например, чтобы они располагались в два ряда? Когда постоянно открыто много табов - работа с ними превращается в ад. Табы закрывать не вариант.

 

Slack
()

fvwm Переключать фокус на одном рабочем столе.

Привет. Как реализовать сабж? Функция Next и Prev переключает между окнами по всем рабочим столам, а хотелся бы аналогичный функционал, который бы работал только в пределах одного рабочего стола. Как сделать? Спасибо.

 

Slack
()

Найти файлы без расширений

Привет. Чота не соображу, а как фаиндом найти файлы без расширения, то есть без точки в имени? Пасип.

 

Slack
()

Offlineimap сертификаты

У offlineimap в настройках для gmail есть параметр sslcacertfile = ...ca-certificates.crt Что то я не вкурю, где этот сертификат взять. Спасибо

 

Slack
()

OpenBSD, свисток.

Здравствуйте. Кто-нибудь в курсе, какой свисток мобильного интернета дефолт сити можно завести под опенком? Спасибо.

 , ,

Slack
()

Awesome 3.5. Переместить уведомления Skype на другой монитор.

Привет всем. Есть два монитора, как в осоме настроить, чтобы всплывающие уведомлялки skype (ну и thunderbird) попадали на другой моник? Спасибо.

Slack
()

OpenVPN, duplicate-cn

Всем привет. Можно в OpenVPN включить опцию duplicate-cn для одного ключа через ccd файл?

Slack
()

Обновил postfix - unused parameter

Обновил postfix на Ubuntu-server. Среди прочего вылезли

 sudo service postfix restart
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
                                                                                                                                   [ OK ]
 * Starting Postfix Mail Transport Agent postfix                                                                                          postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
Почему? Вроде опции не устарели эти, как гугл говорит...

Slack
()

freebsd nss_ldap перестал резолвить группы

После обновления nss_ldap, перестал резолвить группы. Было:

# ls /var/db/pkg | grep nss_ldap
nss_ldap-1.265_6
id himan
uid=1002(himan) gid=0(wheel) groups=0(wheel),2001(admins),2002(users),2003(startup),2004(delphi),2007(techdep),2008(common user group),2011(updater),1026(edu)
# 
Стало:
# id himan
uid=1001(himan) gid=1001(backup) groups=1001(backup)

Настройки не менялись, следующие:

#cat /usr/local/etc/nss_ldap.conf
  base dc=domain,dc=ru
  bind_policy soft
  bind_timelimit 30
  host 192.168.101.85
  ldap_version 3
  binddn uid=cvsreader,ou=people,dc=domain,dc=ru
  bindpw cvsreader
  nss_base_group        ou=groups,dc=domain,dc=ru?one
  nss_base_passwd        ou=people,dc=domain,dc=ru?one
  nss_base_shadow        ou=people,dc=domain,dc=ru?one
  pam_filter |(&(accessTo=hostname)(trustModel=byhost))(trustModel=fullaccess)
  nss_connect_policy oneshot
  pam_login_attribute uid      
  pam_password SSHA
  port 389
  timelimit 30

Slack
()

Разрешение vesa driver

Являюсь счастливым владельцем нетбука с видеокарточкой

# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
Монитор работает в разрешении 1024x600

В арче завелся драйвер modesetting, а в BSD, как я понимаю, его нет, работает только через vesa драйвер 800x600. Возможно ли с помощью каких-нибудь ухищрений, комбинируя например всякие HorizSync и VertRefresh, заставить работать монитор с драйвером vesa не в vesa разрешении 1024x600? Спасибо.

Slack
()

Косяк в скрипте на python

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

#cat backup.conf

[Dirs]
dirs: /home/amihailov/back
backup_dir : /home/amihailov/backups

[Config]
from_mail: a.mikhailov@myhost.ru
admin_mail: amihailov@gmail.com
mail_server: mail.myhost.ru
delete_after_days: 5
pas: xxx 


~$ cat backup.py
#!/usr/bin/python2

import ConfigParser
import sys, commands, os, datetime
import smtplib
from email.mime.text import MIMEText

def send_mail(from_mail, to_mail, subj, message, server, pas):
	message = MIMEText(message)
	message['Subject'] = subj
	message['From'] = from_mail
	message['To'] = to_mail
	s = smtplib.SMTP(server)
	s.connect(server)
	s.login(from_mail, pas)
	s.sendmail(from_mail, to_mail, message.as_string())
	s.quit()

class BackupConfig:
	def __init__(self, filename):
		self.config = ConfigParser.ConfigParser()
		self.config.read(filename)

	def get(self, section, name):
		return self.config.get(section, name, 0)

def main():

	# Vars:
	config = BackupConfig('backup.conf')
	dirs = config.get('Dirs', 'dirs')
	backup_dir = config.get('Dirs', 'backup_dir')
	from_mail = config.get('Config', 'from_mail')
	admin_mail = config.get('Config', 'admin_mail')
	mail_server = config.get('Config', 'mail_server')
	pas = config.get('Config', 'pas')
	delete_after_days = config.get('Config', 'delete_after_days')
	timestamp = str(datetime.date.today())
	# ---

	# Clean backup dir, delete old files
	os.system("find " + backup_dir + " -mtime +" + delete_after_days + " -exec rm '{}' \;")
	# ---

	dirs = dirs.split(',')
	for directory in dirs:
		code = commands.getstatusoutput('7za a -t7z -mx0 ' + backup_dir + '/' + str(os.path.split(directory)[1]) + '_' + timestamp + '.7z "' + directory + '/"')
		if code[0] != 1:
			print str(code[1])
			send_mail(
				from_mail,
				admin_mail,
				'backup error',
				'Error: 7Zip return error code. Directory: ' + directory + '\n\r Error: ' + str(code[1]),
				mail_server,
				pas
			)


if __name__ == "__main__":
	main()


Slack
()

Asterisk, переадресация.

Привет. Нужно сделать переадресацию, чтобы пользователь набирал *21XXXX и переадресовывало на другой телефон.

Два сервера : lst10 c внешними номерами (4150 4149) и lst252 c внутренними номерами (4646). Нужно сделать переадресацию с 4646 на 4149. Если делать переадресацию на номера с lst252 - то все работает.

На lst252 в extensions.сonf пишу:

exten => _*21XXXX,1,Set(DB(REDIRECT/${CALLERID(num)})=${EXTEN:3})
exten => *22#,1,Set(NOREDIRNUM=${DB_DELETE(REDIRECT/${CALLERID(num)})})
exten => 4646,1,Set(REDIRECTNUM=${DB(REDIRECT/${EXTEN})})
exten => 4646,n,GotoIf($[${ISNULL(${REDIRECTNUM})}]?internal:redirect)
exten => 4646,n(internal),Dial(SIP/${EXTEN})
exten => 4646,n(redirect),Dial(SIP/${REDIRECTNUM})	
exten => _41XX,1,Dial(SIP/lst10/${EXTEN},30,r,t);	

на телефоне набираю *214149

-- Executing [*214149@default:1] Set("SIP/4646-000147af", "DB(REDIRECT/4646)=4149") in new stack	

Звоню с 4150 на 4646:

 == Using SIP RTP CoS mark 5
    -- Executing [4646@default:1] Set("SIP/lst10-000147f4", "REDIRECTNUM=4149") in new stack
    -- Executing [4646@default:2] GotoIf("SIP/lst10-000147f4", "0?internal:redirect") in new stack
    -- Goto (default,4646,4)
    -- Executing [4646@default:4] Dial("SIP/lst10-000147f4", "SIP/4149") in new stack
[Dec  4 19:20:46] WARNING[23407][C-00000032]: chan_sip.c:6159 create_addr: Purely numeric hostname (4149), and not a peer--rejecting!
[Dec  4 19:20:46] WARNING[23407][C-00000032]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)

А если exten написать через s - то он туда не попадает. Что я делаю не так?

Slack
()

Оценка работы системного администратора

Всем привет.

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

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

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

Slack
()

RSS подписка на новые темы