ուրեմն, ընկերներիցս մէկը տեսաւ ոնց ա gentoo֊ն բաներ շինում, ասաց՝ շատ հաւէս կը լինէր եթէ սէթի ժամանակ սա պրոյեկտուէր կամ սթրիմ լինէր։
մտածեցի՝ իսկապէս, պէտք ա փորձել։
տեղակայեցի obs։ ու obs֊ով կարողացայ դա անել։
բայց մի խնդիր կար՝ ես ունեմ գլոբալ USE ֆլագ՝ “-pulseaudio”։ ու pipewire էլ չունեմ։
նէնց չի որ նորութիւն ա։ նախկինում gnome֊ի esd֊ն ու kde֊ի arts֊ն էլ չէի օգտագործում։
միշտ միայն alsa էր։ աւելի ճիշտ՝ նախ դէ միշտ չէ, առաջ oss էր, նաեւ երբ արդէն alsa էր, եղել ա որ իմ սաունդ քարտը չի ճանաչել, ու ես oss էի շինել, որ աշխատի։ ու բնաւ չէի նեղւում oss֊ով։
հիմա էլ մտածում եմ՝ պէտք ա փորձել, գուցէ ինչ֊որ բան աւելի լա՞ւ աշխատի։
ինչեւէ, pulse բնականաբար չունեմ։
ու սթրիմն էսպէս ա աշխատում՝ butt ծրագիրը վերցնում ա ալսա֊ի նշուած մուտքից ու ուղարկում ա anonradio։
բայց հիմա աւելացել ա obs֊ը, ինքն էլ ա ուզում վերցնել։
ու պարզուեց՝ առաջինն ով վերցնում ա, սարքը իրան ա վերցնում նէնց որ ուրիշին չտայ։
ու եթէ butt֊ն եմ առաջինը միացնում՝ obs֊ը էլ ձայնը չի տեսնում, եթէ obs֊ն եմ առաջինը միացնում՝ butt֊ը էլ չի տեսնում։
սա լուծեցի էսպէս՝ ես ունեմ միշտ միացուած jack ֆլագ, ամէնը jack֊ի աջակցութեամբ եմ հաւաքում։
jack֊ը միացրի, իսկ ինքը սէնց հաւէս վահանակ ունի ուր մի ծրագրի ելքը կարող ես այլ ծրագրի մուտքին միացնել։ տէնց միացրի՝ եւ obs֊ին եւ butt֊ին, իսկ իրանց ասացի որ մուտքը jack֊ից վերցնեն՝ ու եղաւ։
բայց յետոյ միւս ընկերս ինձ գրեց՝ որ հա շատ հաւէս ա, բայց գիտես, դուրս չի գալիս որ էդ պատուհանը ուր վիդեօն ա, ինքը մի տեսակ ինտեգրուած չի քո դեսքթոփի հետ՝ առանձին վրայից դրուած ա։
ու ես մտածեցի՝ իսկապէս։
ապա նաեւ մտածեցի՝ չեմ ուզում է էս obs֊ը, կուզէի պարզապէս քոմանդլայն անել։
նախ փորձեցի ոնց կարդամ mplayer֊ով վիդեօ մուտքը։
դէ սկսեմ նրանից որ վիդեօ մուտքն ինձ մօտ նոութի վեբկամից չի, այլ canon խցիկից։
v4l2loopback մոդուլը պէտք ա քոմփայլ եղած լինի, ու միացուած՝
sudo modprobe v4l2loopback exclusive_caps=1 max_buffers=2
յետոյ քենոն խցիկը կը ստեղծի վիդեօ սարք gphoto2֊ի օգնութեամբ՝
sudo gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -s 1368x912 -threads 2 -f v4l2 /dev/video0
օկ, հիմա կպնենք mplayer֊ով՝
mplayer -tv device=/dev/video0:driver=v4l2 tv://
հաւէս, ցոյց տալիս ա։ բայց երբ սթրիմ արեցի, տեսայ որ mplayer֊ի պատուհանը կապոյտ ա։
կարդացի, նրանից ա լինում որ mplayer֊ն օգտագործում ա x11֊ի overlay կոչուող հնարաւորութիւնը՝ էդպէս անմիջապէս վիդեօ քարտին հասանելիութիւն ունի ու աւելի արագ ա ցոյց տալիս։
բայց էս ձեւով չի լինում որ ffmpeg֊ը իր x11grab միջոցով տեսնի պատուհանի պարունակութիւնը։
ու այն տեսնում ա այսպէս կոչուած placeholder գոյնը՝ որը կապոյտ ա։
ապա փորձեցի էսպէս, ու եղաւ։
mplayer -vo gl -tv device=/dev/video0:driver=v4l2 tv://
հա, բա ինչպէ՞ս եմ ffmpeg֊ով սթրիմ անում էկրանս։ ասացի որ վերեւի ձախ 1920x1080 չափով անի, որ ստանդարտ որոշութիւն լինի։
ffmpeg
-f x11grab -r 30 -s 1920x1080 -i :0.0+0,0
-f jack -i ffmpeg
-c:v libx264 -preset ultrafast -c:a aac
-f flv “rtmp://toobnix.org:1935/live/${KEY}” | grep -v rtmp
KEY֊ը նախապէս սահմանում եմ վերեւում ու ֆիլտրում եմ որ յանկարծ չերեւայ հոսքի մէջ։
առաջին անգամ երեւաց, դրա համար ջնջեցի կարգաւորումները, նոր բանալի ստեղծեցի ու հիմա ֆիլտրում եմ։
ընդհանուր առմամբ էսպէս։
ուրեմն յաջորդականութիւնը։
միացնում եմ խցիկը gphoto2֊ով ու mplayer֊ով։ յետոյ միացնում եմ qjackctl
յետոյ միացնում եմ butt֊ը, համոզւում եմ որ կարողանում ա jack֊ից վերցնել աւդիօն։ յետոյ միացնում եմ ffmpeg֊ը ու qjackctl֊ի վահանակով միացնում ձայնը նաեւ ffmpeg֊ին։
ու տէնց։
#աւդիօ #վիդեօ #սթրիմինգ #սթրիմ #հեռարձակում #էկրանահան #սէթ #երաժշտութիւն #լինուքս #տէք #տեքնոլոգիաներ #տէքնոլոգիաներ #կոնսոլ #աւտոմատացում #պարզութիւն
կարեւոր խնդրի մասին են յաճախ ասում՝ ո՞ր լինուքսի համար փաթեթաւորել։
իսկ էս մարդն աւտոմատացրել ա ու ոչ միայն դեբեանի, փեդորայի, այլեւ բիէսդի֊ի համար ա կարողանում փաթեթաւորել։
ի դէպ պասկալով գրուած խոշորացոյցի նախագիծ ա։
չմոռանամ վաղը շինել։ ու հաւէս կը լինէր սկրիպտը լաւացնել, որ նաեւ ջենթու եբուիլդ էլ սարքէր։
#էկրանահան #իւնիքս #ազատ_ծրագրակազմ #փաթեթ #սկրիպտ #աւտոմատացում #պասկալ
ի տարբերութիւն dino
֊ի, mcabber
֊ը անհամեմատ աւելի քիչ էներգիա ա ուտում։
mcabber
֊ի կոնտակտներով նաւիգացիան՝ PgUp
ու PgDown
ստեղներով ա, որ բարեբախտաբար maemo
֊ի տերմինալում կան ու հեշտ հասանելի են։
յաջորդ խնդիրն ա ծանուցումներ ստանալը։ maemo
֊ում սարքը էսօր դզզում ա միայն եթէ մէյլ ա գալիս։ իրենք փորձում են իրականացնել հին fremantle
֊ի conversations
֊ի պէս մի բան, որ ինտեգրուած ա հասցէագրքի հետ, դա երեւի նոյնպէս կը կարողանայ ծանուցում տալ։
բայց ի՞նչ անել, եթէ սովորական ծրագիր ա։
mcabber
֊ում կարելի ա կարգաւորել սկրիպտ, որը կը կանչուի, երբ քեզ գալիս ա հաղորդագրութիւն։
# The command is called the following way:
# $events_command MSG IN jabber@id [file] (when receiving a message)
# $events_command MSG OUT jabber@id (when sending a message)
# $events_command MSG MUC room_id [file] (when receiving a MUC message)
# $events_command STATUS X jabber@id (new buddy status is X)
# $events_command UNREAD "N x y z" (number of unread buddy buffers)
# (x=attention y=muc unread buffers z=muc unread buffers with attention sign)
# See sample script in contrib/ directory.
#set events_command = ~/.mcabber/eventcmd
set events_command = ~/mcabber_event
եւ էսպիսի սկրիպտով կարողանում եմ ստանալ ծանուցումներ՝
#!/bin/bash
if [ "$2" = "IN" ]
then
notify-send -c im.received "msg from $3" -t 4000
fi
հիմա դզզում ա, որ նկատեմ։
մտածեցի, բա ո՞նց անեմ որ որոշ սենեակներից էլ ստանամ՝
#!/bin/bash
ROOMS="ada oberon fpc"
if [ "$2" = "IN" ]
then
notify-send -c im.received "msg from $3" -t 4000
else
if [ "$2" = "MUC" ]
then
for i in $ROOMS
do
if [[ "$3" =~ "$i" ]]; then
notify-send -c im.received "msg in $3" -t 4000
echo "It's there!"
fi
done
fi
fi
#էկրանահան #mcabber #սկրիպտ #տեք #աւտոմատացում
ես ունէի երեք sailfish
— առաջինը jolla
հեռախօսի վրայ։
երկրորդը՝ xperia
֊ի վրայ։
ու երրորդը՝ pinephone
֊ի։
jolla֊ի sailfish֊ը չի թարմացւում։ ու շատ նոր ծրագրեր դրա վրայ չեն աշխատում։ փորձել եմ խնդիրների որոշ մասը լուծել, բայց մէկ ա ամէն կայք չի բացւում, ու մէկ ա համակարգը հին ա, ու յաւելուածների զգալի մասի նոր վարկածները դրա վրայ չեն աշխատում։
կարող եմ օգտագործել ոնց կայ։ օրինակ խցիկը՝ կարող եմ նկար անել, lut
կիրառել։
xperia֊ն այլեւս չեմ օգտագործում՝ երկաթի խնդիրների պատճառով։
ու ամբողջ տան պանակս տեղափոխել էի pinephone֊ի մէջ, ուր, պարզուեց, սէյլֆիշը բաւական թեթեւ ու արագ աշխատում ա։ ու թարմ ա՝ նոր վարկածներն աշխատում են։
բայց ամէն դէպքում #սէյլֆիշ պիտակով բաւական անդրադարձել եմ տարբեր խնդիրներին, օրինակ այս կամ այս գրառումներում։
քանի որ 2fa
֊ն տիգրանի օգնութեամբ աշխատեցրի oathtool
֊ով, արդէն ինձ ոչ մի բան չէր կապում «սէյլֆիշին», բացի նոթերից։
չաթում հարցրի, մէկն ասաց՝ բեքափ արա։ բեքափ արեց իրանը, տեսաւ որ բեքափի մէջ սեղմած նիշք ա, դա էլ բացեց՝ ոնց որ sql
հրամաններով ֆայլ էր՝ որը ստեղծում ա տուեալների բազան։
ես էլ փորձեցի «բեքափ» անել, բայց տանը չէի ու ինձ մօտ «սդ քարտ» չկար, իսկ իրա լռելեայն գրաֆիկական «բեքափ» անող գործիքին չկարողացայ համոզել, որ օրինակ /tmp
֊ի մէջ գցի։
այլ խորհուրդ չաթից՝ «շէյրիր մէյլով», բայց ես ունէի 290 նոթեր։ նշանակում ա՝ էդքան անգամ շէյր անել, ուղարկել մէյլով։
դէ կամ էդքան անգամ պատճէնել֊փակցնել։
նոթերի տուեալների բազայի ֆայլի տեղն առաջ այլ էր, հիմա՝ այլ։
բայց ամէն դէպքում, ֆայլը գցել էի փայնֆոնի մէջ, ու նոթերս էնտեղ ունէի։
էս անգամ նիշքը գտայ էստեղ՝ ~/.local/share/com.jolla/notes/QML/OfflineStorage/Databases/8b63c31a7656301b3f7bcbbfef8a2b6f.sqlite
, ու օգտատիրոջ անունն այլեւս nemo
չի, այլ դախացել ա՝ defaultuser
ա։
նիշքը տեղափոխեցի կարգչիս մէջ, ու սկսեցի փորձեր անել։
այս կայքում լաւ նկարագրուած էր, ինչպէս օգտուել sqlite3
գործիքով։
արեցի .tables
, տեսայ մի աղիւսակ ա, անունը՝ notes
։
ապա պարզուեց էսքան պարզ էր՝
sqlite3 <file>.sqlite "select * from notes;" > notes.txt
ու ես ունեմ ամէնը տեքստ ֆայլի մէջ։
այսպիսի տեսք ունի՝
3|#88cc00|պտղաւան գիւղի մուտքի (ելքի՞) մօտ, բագրատաշէնի կողմից, կայ «վրացական ապպա» անելու տեղ, ու փոքրիկ խանութ, որի վրայ թխուածք ա նկարուած։
երբ մտայ, նէ՛նց համով խաչապուրիի հոտ էր, ու պէտք ա ասել, պարզուեց ահագին լաւ խաչապուրի են թխում։
էնտեղով անցնէք՝ անպայման փորձէք։
#պտղաւան #թխուածք #խաչապուրի
4|#ccbb00|SPIRATONE PLURA-COAT 20mm f2.8
Serial: No. 212314
Camera:
Nikon N2000
Serial: 2346550
(էս ինձնից թիֆլիսում գողացած նիկոնի ու ոսպնեակի սերիալ համարներն էին, որ միայն «մագնոլիայում» թողեցի, այլ խանութների հետ չկարողացայ կապ հաստատել, զի միայն «ֆէյսբուքում» կամ «ինստայում» էին։)
ընթացքում չաթում յուշեցին որ գրաֆիկական «բեքափ» անող գործիքի փոխարէն կարելի ա օգտագործել sqlite
֊ի dump
հրամանը։
դրանով էլ փորձեցի, ու ստացայ այսպիսի նիշք՝
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE notes (pagenr INTEGER, color TEXT, body TEXT);
INSERT INTO notes VALUES(3,'#88cc00',replace('պտղաւան գիւղի մուտքի (ելքի՞) մօտ, բագրատաշէնի կողմից, կայ «վրացական ապպա» անելու տեղ, ու փոքրիկ խանութ, որի վրայ թխուածք ա նկարուած։\n\nերբ մտայ, նէ՛նց համով խաչապուրիի հոտ էր, ու պէտք ա ասել, պարզուեց ահագին լաւ խաչապուրի են թխում։\n\nէնտեղով անցնէք՝ անպայման փորձէք։\n\n#պտղաւան #թխուածք #խաչապուրի','\n',char(10)));
INSERT INTO notes VALUES(4,'#ccbb00',replace('SPIRATONE PLURA-COAT 20mm f2.8\nSerial: No. 212314\n\nCamera:\nNikon N2000\nSerial: 2346550\n\n\n\n','\n',char(10)));
INSERT INTO notes VALUES(5,'#cc7700',replace('փորձեցի
դէ, իմ առաջին ստացածն աւելի կիրառելի էր՝ կարող եմ ֆայլը բացել, փնտրել առանց աւելորդ աղմուկի։ բայց հետաքրքիր էր էս տեսքին էլ ծանօթանալը։
ահա, պէտք լինի սէյլֆիշի նոթեր արտահանել, մարդ ես, գուցէ օգտակար լինի։
ու տէնց։
#սէյլֆիշ #կոնսոլ #լինուքս #տեք #անկապ #պատմութիւն #աւտոմատացում #սարք #տուեալների_բազաներ #տբ #օհ #օպերացիոն_համակարգեր
մէկին փորձում էի բերել sdf֊ի համայնք, ու դրա համար պէտք ա ընդամէնը մի բան, բացել տերմինալ եւ գրել՝ ssh new@sdf.org
։
բայց քանի որ ուինդոուսում ա էս մարդը, ու ssh
անելու փորձ չունի (որը կրկին մեր կրթութեան մասին ա, ո՞նց ա որ քանի տարուայ ուսանողին երբեք պէտք չի եղել ոչ մի տեղ ssh֊ուել) միասին առցանց տառապեցինք։
ասի՝ քաշիր putty։ քաշեց ինչ֊որ այլ ուինի համար ssh կլիենտ։ bitvise՞ ոնց որ։ ես դէ էկրահաններով բնաւ չհասկացայ ոնց դրա հետ աշխատել։ լիքը կոճակներ, լիքը դաշտեր եւ տաբեր։ յետոյ քաշեց իսկական փութին։
դրանով կպաւ։
ու սա շատ պարզ ա նկարագրւում՝ ինտերակտիւ հաղորդակցութիւն մեքենայի հետ, ընդդէմ աւտոմատիզացիայի։
կամ ժեստերո՞վ ենք խօսում (կոճակ ենք ընտրում սեղմելու համար) թէ՞ յստակ գրում ենք ինչ ենք ուզում։
էստեղ օբերոնի մշակոյթն էլ աւելի յարմար ա՝ ձեռնարկն ու հրամանը առանձին չեն՝ ձեռնարկը բացում ես՝ հրամանների ձեւերը մէջը կան, ու մեկնաբանուած են՝ պարզապէս քեզ պէտք եղած հրամանի վրայ կտացնում ես։ ու եթէ արգումենտ ա պէտք տալ, կարող ես արգումենտը «սելեքթ» անել այլ պատուհանի մէջ։ ճիշտ ա, մի քանի արգումենտ տալ չես կարող, պիտի գրես։
օրինակ, իմ irc_bot֊ը հիմա պահանջում ա լիքը արգումենտներ՝
vocbot -h irc.libera.chat -p 6667 -o inky -u mobot -n mobot_ -r '#test' -w 'SECRET'
բայց էսպէս իհարկէ ծրագրերն աւտոմատացւում են՝ կարող ես կանչել սկրիպտի միջից՝ արա սա ու սա։ այն քեզ ամէն անգամ չի հարցնում՝ իսկ էս ի՞նչ անեմ։ իսկ սա՞։ դու ամէնը ասում ես։
օրինակ, վերցու էս հոսքից երրորդ դաշտը, դարձրու բոլոռ տառերը փոքրատառ, վերագրի փոփոխականի՝
VAR=`cat /dev/something | awk -F ":" {'print $3'} | tr A-Z a-z`
իսկ օբերոնում առհասարակ «սկրիպտ» հասկացութիւն պէտք չի՝ նոյն հրամանը (մոդուլի ֆունկցիան) կարող ես կանչել եւ «կոնսոլից»՝ ամէն տեղից, մի տեղ գրած լինի, կտացնես վրան, եւ նոյն ֆունկցիան կարող ես կանչել քո ծրագրից։
#իւնիքս #աւտոմատացում #կոնսոլ #տեքստ #օբերոն #սկրիպտ #ինտերֆէյս #մշակոյթ
շնայդեր ֆիրմայի փիէլսի֊ների նախագծման միջավայրը թոյլ չի տալիս պատճէնել կոդ, փակցնել ասենք ինչ֊որ այլ տեղ, ու համեմատել երկու կոդի կտոր։ դու ունես մէկ միջավայր, ծանր, դանդաղաշարժ, ու ամէնը պիտի անես միմիայն դրա միջոցներով՝ եւ լցնես սարքի մէջ, եւ կարդաս սարքից, եւ գրես, եւ կարգաւորես սարքին միանալու ձեւը։
այսինքն դա բնաւ իւնիքս չի, անում է ամէն ինչ, ու անում է՝ վատ։
մտածում եմ, երեւի թէ նրանից է, որ օգտուողները հիմնականում էլեկտրոնիկայի մասնագէտներ են, ոչ թէ ծրագրաւորողներ, թէ չէ ոչ կը հանդուրժէին STL֊ով կոդ գրելը (էդ ձեր իմացած սի պլիւսներինը չի, ասմ֊ի պէս բան է), քանի որ ակնյայտ է ինչքան սխալ կարելի է դրանով անել, ոչ էլ հանդուրժելու էին որ հնարաւորութիւն չունեն իրենց ուզած գործիքներով ասենք diff անել։
առհասարակ, էս փիէլսի֊ների շուկան շատ լաւ տեղ է, մի քանի արտադրող կայ, բոլորն էլ շատ վատ են աշխատում, ժանգոտել են։ ու մրցակցութիւն չունեն։ բարդ մտնելու շուկայ է, միւս կողմից, քանի որ բոլոր լուրջ պատուիրատուները պահանջում են ճանաչուած ու «լուրջ» սարքի ու միջավայրի արտադրողների, սերտիֆիկացիա անցած եւ այլն։ բայց մտնելու տեղ է, լաւ տեղ է ու հետաքրքիր։
#ծրագրաւորում #փիէլսի #շնայդեր #աւտոմատացում #արտադրութիւն #իւնիքս