Задать вопрос
  • Оконные менеджеры, с чего начать?

    smorman
    @smorman
    When In Rome do as The Romans do...
    У меня Openbox.
    Всё, что из коробки например в GNOME, можно руками настроить и в нём, что я и сделал.
    У меня всё управляется также, как в любом др. DE или WM...
    Меню OB (obmenu) из коробки есть, но я его заменил на obmenu-generator, например, ибо намного приличней.
    Горячие клавиши в конфигах OB настраиваются без проблем, как и автозапуск приложений и процессов нужных.

    Всё делается, было бы желание...
    Openbox
    357c53ffe45c9536f5d9a91542f802f6.png
    Ответ написан
    2 комментария
  • Оконные менеджеры, с чего начать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    И так, для начала. В современных системах используются две графические системы, несовместимые между собой.
    Xorg и Wayland. Практически все дистрибутивы плавно перемещаются к использованию Wayland.
    Соответственно, если у Вас например ubuntu, то скорее всего wayland по умолчанию.
    Теперь о графической карте. Wayland плохо работает с nvidia. И тогда лучше поставить xorg. А уж к нему поставить i3wm или что-то еще типа bspwm.
    Это была вводная часть.
    И так, у нас ubuntu с wayland и дефолтной графической оболочкой gnome. Проще всего взять и дополнительно поставить sway + waybar.
    И при логине переключать оболочки через параметры окна входа!

    Как все настроить, хорошо описано на arch wiki - https://wiki.archlinux.org/title/Sway

    Если чего не получится, спрашивайте.

    Мой рабочий конфиг ~/.config/sway
    Посмотреть мой конфиг

    # Default config for sway
    #
    # Copy this to ~/.config/sway/config and edit it to your liking.
    #
    # Read `man 5 sway` for a complete reference.
    
    ### Variables
    #
    # Logo key. Use Mod1 for Alt.
    set $mod Mod4
    # Home row direction keys, like vim
    set $left h
    set $down j
    set $up k
    set $right l
    # Your preferred terminal emulator
    set $term foot
    # Your preferred application launcher
    # Note: pass the final command to swaymsg so that the resulting window can be opened
    # on the original workspace that the command was run on.
    ##set $menu dmenu_path | wmenu | xargs swaymsg exec --
    set $menu fuzzel --no-exit-on-keyboard-focus-loss
    
    include /etc/sway/config-vars.d/*
    
    ### Output configuration
    #
    # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
    #output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
    #output * bg ~/.config/sway/wallpapers/iss071e579940orig.jpg fill
    # output * bg ~/.config/sway/wallpapers/hubble-ngc3430-spiral.webp fill
    
    output eDP-1 bg ~/.config/sway/wallpapers/heic0707a.jpg fill
    output DP-2 bg  ~/.config/sway/wallpapers/heic0515a.jpg fill
    #output DP-2 bg ~/.config/sway/wallpapers/heic0604a.jpg fill
    
    
    # output DP-2 primary
    
    # eDP-1
    workspace 1 output eDP-1
    workspace 2 output eDP-1
    workspace 3 output eDP-1
    workspace 4 output eDP-1
    workspace 5 output eDP-1
    workspace 6 output eDP-1
    # DP-2
    workspace 7 output DP-2
    workspace 8 output DP-2
    workspace 8 output DP-2
    workspace 10 output DP-2
    
    
    #
    # Example configuration:
    #
    #   output HDMI-A-1 resolution 1920x1080 position 1920,0
    #
    # You can get the names of your outputs by running: swaymsg -t get_outputs
    
    ### Idle configuration
    #
    # Example configuration:
    #
    # exec swayidle -w \
    #          timeout 300 'swaylock -f -c 000000' \
    #          timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
    #          before-sleep 'swaylock -f -c 000000'
    #
    # This will lock your screen after 300 seconds of inactivity, then turn off
    # your displays after another 300 seconds, and turn your screens back on when
    # resumed. It will also lock your screen before your computer goes to sleep.
    
    ### Input configuration
    #
    # Example configuration:
    #
    #   input "2:14:SynPS/2_Synaptics_TouchPad" {
    #       dwt enabled
    #       tap enabled
    #       natural_scroll enabled
    #       middle_emulation enabled
    #   }
    #
    # You can get the names of your inputs by running: swaymsg -t get_inputs
    # Read `man 5 sway-input` for more information about this section.
    
    input * {
        xkb_layout us,ru
        xkb_options grp:win_space_toggle
    }
    
    input "type:touchpad" {
        tap enabled
    }
    
    ### Key bindings
    #
    # Basics:
    #
        # Start a terminal
        bindsym $mod+Return exec $term
    
        # Kill focused window
        bindsym $mod+Shift+q kill
    
        # Start your launcher
        bindsym $mod+d exec $menu
    
        # Drag floating windows by holding down $mod and left mouse button.
        # Resize them with right mouse button + $mod.
        # Despite the name, also works for non-floating windows.
        # Change normal to inverse to use left mouse button for resizing and right
        # mouse button for dragging.
        floating_modifier $mod normal
    
        # Reload the configuration file
        bindsym $mod+Shift+c reload
    
        # Exit sway (logs you out of your Wayland session)
        bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
    #
    # Moving around:
    #
        # Move your focus around
        bindsym $mod+$left focus left
        bindsym $mod+$down focus down
        bindsym $mod+$up focus up
        bindsym $mod+$right focus right
        # Or use $mod+[up|down|left|right]
        bindsym $mod+Left focus left
        bindsym $mod+Down focus down
        bindsym $mod+Up focus up
        bindsym $mod+Right focus right
    
        # Move the focused window with the same, but add Shift
        bindsym $mod+Shift+$left move left
        bindsym $mod+Shift+$down move down
        bindsym $mod+Shift+$up move up
        bindsym $mod+Shift+$right move right
        # Ditto, with arrow keys
        bindsym $mod+Shift+Left move left
        bindsym $mod+Shift+Down move down
        bindsym $mod+Shift+Up move up
        bindsym $mod+Shift+Right move right
    #
    # Workspaces:
    #
        # Switch to workspace
        bindsym $mod+1 workspace number 1
        bindsym $mod+2 workspace number 2
        bindsym $mod+3 workspace number 3
        bindsym $mod+4 workspace number 4
        bindsym $mod+5 workspace number 5
        bindsym $mod+6 workspace number 6
        bindsym $mod+7 workspace number 7
        bindsym $mod+8 workspace number 8
        bindsym $mod+9 workspace number 9
        bindsym $mod+0 workspace number 10
        # Move focused container to workspace
        bindsym $mod+Shift+1 move container to workspace number 1
        bindsym $mod+Shift+2 move container to workspace number 2
        bindsym $mod+Shift+3 move container to workspace number 3
        bindsym $mod+Shift+4 move container to workspace number 4
        bindsym $mod+Shift+5 move container to workspace number 5
        bindsym $mod+Shift+6 move container to workspace number 6
        bindsym $mod+Shift+7 move container to workspace number 7
        bindsym $mod+Shift+8 move container to workspace number 8
        bindsym $mod+Shift+9 move container to workspace number 9
        bindsym $mod+Shift+0 move container to workspace number 10
        # Note: workspaces can have any name you want, not just numbers.
        # We just use 1-10 as the default.
    #
    # Layout stuff:
    #
        # You can "split" the current object of your focus with
        # $mod+b or $mod+v, for horizontal and vertical splits
        # respectively.
        bindsym $mod+b splith
        bindsym $mod+v splitv
    
        # Switch the current container between different layout styles
        bindsym $mod+s layout stacking
        bindsym $mod+w layout tabbed
        bindsym $mod+e layout toggle split
    
        # Make the current focus fullscreen
        bindsym $mod+f fullscreen
    
        # Toggle the current focus between tiling and floating mode
        bindsym $mod+Shift+space floating toggle
    
        # Swap focus between the tiling area and the floating area
        bindsym $mod+space focus mode_toggle
    
        # Move focus to the parent container
        bindsym $mod+a focus parent
    #
    # Scratchpad:
    #
        # Sway has a "scratchpad", which is a bag of holding for windows.
        # You can send windows there and get them back later.
    
        # Move the currently focused window to the scratchpad
        bindsym $mod+Shift+minus move scratchpad
    
        # Show the next scratchpad window or hide the focused scratchpad window.
        # If there are multiple scratchpad windows, this command cycles through them.
        bindsym $mod+minus scratchpad show
    #
    # Resizing containers:
    #
    mode "resize" {
        # left will shrink the containers width
        # right will grow the containers width
        # up will shrink the containers height
        # down will grow the containers height
        bindsym $left resize shrink width 10px
        bindsym $down resize grow height 10px
        bindsym $up resize shrink height 10px
        bindsym $right resize grow width 10px
    
        # Ditto, with arrow keys
        bindsym Left resize shrink width 10px
        bindsym Down resize grow height 10px
        bindsym Up resize shrink height 10px
        bindsym Right resize grow width 10px
    
        # Return to default mode
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    
    #
    # Status Bar:
    #
    # Read `man 5 sway-bar` for more information about this section.
    ##bar {
    ##    position top
    ##
    ##    # When the status_command prints a new line to stdout, swaybar updates.
    ##    # The default just shows the current date and time.
    ##    status_command while date +'%Y-%m-%d %X'; do sleep 1; done
    ##
    ##    colors {
    ##        statusline #ffffff
    ##        background #323232
    ##        inactive_workspace #32323200 #32323200 #5c5c5c
    ##    }
    ##}
    
    bar {
      swaybar_command waybar
    }
    
    bindsym $mod+Shift+f exec firefox
    bindsym $mod+Shift+t exec swaylock -c 000000
    bindsym $mod+Shift+p exec grimshot save area
    
    exec ~/Telegram/Telegram -startintray
    exec nm-applet --indicator
    exec mako
    exec blueman-applet
    
    bindgesture swipe:right workspace next
    bindgesture swipe:left workspace prev
    
    for_window [app_id = "org.gnome.Calculator"] floating enable
    
    include /etc/sway/config.d/*

    Ответ написан
    2 комментария
  • Может ли слететь лицензия 1С программная после очистки журналов регистриации через Конфигуратор?

    Fragster
    @Fragster
    помогло? отметь решением!
    Программная лицензия слетела раньше. После изменения параметров компьютера еще неделю работает предыдущая лицензия, при этом . А слететь она может после обновления винды или биоса/драйверов, например.

    Или при размещении одного и того же файла лицензии в нескольких местах

    Подробнее на https://its.1c.ru/db/license#content:1:1:issogl1_%...
    Ответ написан
  • Может ли слететь лицензия 1С программная после очистки журналов регистриации через Конфигуратор?

    @LollyFox
    В теории лицензия только от этого слетать не должна, но может быть связана.
    Какую ошибку 1С пишет в журнале поиска лицензии?
    Ответ написан
  • Какое есть в linux решение для организации видеоконференций?

    @Komrus
    CIO
    Для выбора направления надо прикинуть:

    1) Кто будет клиентом ВКС
    а) Участники с установленными софтовыми клиентами
    б) Участники, подключающиеся из браузеров (WebRTC)
    в) Участники с аппаратными SIP (а то и H.323) видео-терминалами.

    2) Разрешения какие надо гонять? (HD, FullHD, 4K)

    3) Нужно бесплатное решение или платное, с поддержкой от вендора ?

    4) Линукс - любой или это госка и нужен AstraLinux ?

    5) Сертификация - нужна?

    6) Сколько одновременных участников в конференции (хотя бы порядок: несколько человек или несколько десятков)

    Бесплатное, без сертификации - Jitsi
    Вполне рабочее решение, но присутствуют шероховатости, присущие опенсорсу.

    Платное, с поддержкой, умеет и под AstraLinux - Vinteo
    Ответ написан
    Комментировать
  • На какой продукт последние два года переходят конструкторы автокада? И переходят ли?

    avc
    @avc
    Инженер и программист
    Никаких заметных процессов миграции я не вижу. Не так давно я проводил опрос в группе инженеров выставочников - ничего нового. Обмен данными между организациями по прежнему в основном в DWG/DXF, а то и вообще в PDF. Постоянно встречаются особо упертые конторы работающие на древних версиях AutoCAD в 2D, как на кульманах. Есть заметный рост использования BricsCAD, как самого развитого клона AutoCAD. Пожалуй, самый успешный и качественный продукт среди всех легких дешевых CAD. Но доля пользователей по прежнему мизерная. Autodesk продвигает для простых задач свой Фьюжн, раздает задаром для домашнего использования. Там тоже есть рост, но опытные пользователи AutoCAD не спешат менять быстрое прямое моделирование, на параметрическое и на совсем другую систему с другими подходами и форматами файлов.
    Насчет Нанокад есть некоторые сомнения про их светлое будущее. Он же на европейском движке. Из ODA их наверно уже выгнали (или нет?) и что они будут делать без движка Teigha?
    Ответ написан
    Комментировать
  • Как автоматизировать сборку тулзов в убунте?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Есть такая тулза. Во FreeBSD это называется порты, в gentoo/calculate - портеджи (portage). Это набор инструкций, который описывает, как собрать ту или иную вещь с сырцов - с учетом нюансов размещения конфигов, зависимостей и тети Моти. Работает как из пушки :)

    Одна проблема - идеология бубунты, как пакетного дистриба - полностью отрицает подобные вещи. Идеология любого пакетного дистриба "мы майнтайнеры, мы боги, вы никто, что и как мы собрали - то и будете вкушать". И такая идеология устраивает большинство (а меньшинство, которое она не устраивает - давно освоило дистрибы, где это работает - гента/calculate, арч (в нем вроде бы тоже есть, но не проверено). Там правда порог входа выше, чем в бубунте, например просто потому что то, что в бубунте делается автоматом при установке пакета, зачастую нужно делать самому - и самое главное - понимать что и зачем ты делаешь (а с этим у нынешних linux-чайников ничуть не лучше чем у их собратьев в винде)
    Ответ написан
    1 комментарий
  • На какой продукт последние два года переходят конструкторы автокада? И переходят ли?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    У нас в компании закупили сотни полторы нанокадов, но как человек, который раньше писал, а сейчас понемного поддерживаю плагины и автокада и нанокада скажу, что по сравнению нанокадом 21 и 23 версии изменения произошли в худшую сторону по отношению к разработчикам плагинов - раньше плагины писались на dot.net 4.x и проблем не было, а в 23-й версии они перешли на .net.core 6. Причём именно версии 6, а не не меньше 6. Т.е. ни о каких версиях .net.core 7,8 и скоро выходящей 9 речи не идёт вообще и, главное, не планируется. Я задал им вопрос, они вежливо мне ответили, что "пока" нет, но мне в руки попала их внутренняя переписка "что это теперь его проблема, пусть добивает теми плагинами, которые есть в net.core 6". Вот такое отношение к клиентам.
    Так же у нас есть на опытной обкатке TFlex. В принципе некоторая табличная параметризация там доступна пользователям, но если у вас есть опыт программирования, то вы в этом мало для себя полезного получите. Я как-то участвовал в совещании, когда представитель TFlex к нам приезжал и рассказывал, какая это у них крутая фича с параметризацией, пока я не задал вопрос, как у них организована обработка ошибок - они сказали, дословно - "никак". Любая ошибка превращается в число 0. И вы никогда не узнаете, что параметризация у вас выполнена с ошибкой или "ноль попал под рамку".
    Собственно ситуация с "отечественными" производителями CAD продуктов - как с сыром. Когда запретили импорт дорогих пармезанов, то после этого отечественные сыры не стали улучшать качество, а стали загонять сырные продукты по цене удалённых с рынков дорогих импортных качественных сыров. Лично я тогда и осознал, что очень хорошо для потребителя наличие на рынке дорогих качественных продуктов, что они сдерживают рост цен на некачественные продукты или всякие полуфабрикаты.
    Так что если у вас есть возможность указать "отечественным" производителям на их ошибки - используйте шанс заставить их доработать что-то до приобретения или требуйте хорошую скидку, как за неполноценный товар, который устраивает вас лишь частично. Не надо их жалеть.
    Ответ написан
    2 комментария
  • Потянет ли этот мини-пк два QHD 100Гц 27"-монитора?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    В 2D задачах проблем быть не должно
    Ответ написан
    Комментировать
  • Подбор железа для видеосервера?

    @Komrus
    CIO
    1. "Ещё какие-нибудь опции" - есть понимание? Если захочется иметь возможность распознавания лиц (отличать Иванова от Сидорова) - это уже другие требования к железу...

    2. Софт видеонаблюдения какой будет- выбран ли уже? С учётом п.1

    3. Определяясь с пп 1 и 2 - рекомендую посмотреть на готовые видеорегистраторы. Надежнее будет.И по цене, скорее всего, получется интереснее.
    Ответ написан
    1 комментарий
  • Месенджер Signal. Как поднять свой сервер?

    NeiroNx
    @NeiroNx
    Программист
    Установить окружение для сборки. Не удовлетворена зависимость com.salesforce.servicelibs:reactor-grpc:jar:1.2.4

    https://github.com/LiteeDev/SignalApp-Setup/tree/master
    Ответ написан
    Комментировать
  • Софт для сервера видеонаблюдения, а какой?

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

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

    XM - дешевый и надежный.
    Dahua - дороже и менее надежный.
    HikVision - дорогой.
    Ответ написан
    Комментировать
  • Как наиболее оптимально перейти с программного на аппаратный RAID?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Как наиболее оптимально это сделать?
    1. Скопировать данные с программного RAID;
    2. Подключить диски к РЭЙД-контроллеру;
    3. Создать новый аппаратный РЭЙД;
    4. Скопировать на него данные;
    5. PROFIT!
    Ответ написан
    4 комментария
  • Организация локальной сети?

    CityCat4
    @CityCat4 Куратор тега Сетевое оборудование
    //COPY01 EXEC PGM=IEBGENER
    Договориться с РТК о переводе элтекса в режим моста и всю работу перенести на ксиаоми - пусть он будет и роутером и dhcp и точкой доступа.
    Ответ написан
    Комментировать
  • Скрипт powershell использует слишком много памяти. Что я делаю не так?

    @conJOULA Автор вопроса
    Удалось добиться желаемого поведения использовав другой подход (другую фичу), которая называется ForEach-Object -Parallel. Если кто-то случайно забредёт сюда в поисках ответа, можете попробовать следующее:

    $threadslimit = 8
    $collection = @{}
    $synccollection = [System.Collections.Hashtable]::Synchronized($collection)
    
    1..1000 | ForEach-Object {
        $data = @('some', 'valuable', 'text', 'data')
        $synccollection.Add($_, $data)
    }
    
    #выводим созданную коллекцию до изменений, просто чтобы можно было сравнить
    $synccollection
    
    $keys = @($synccollection.Keys)
    
    $keys | ForEach-Object -Parallel {
        $synccollectionscope = $using:synccollection
    
        # Здесь на самом деле какая-то функция, которая возвращает строку
        $format = 'Changed data'
    
        # Изменяем одно из полей, напоминаю, по ключам лежат массивы
        $synccollectionscope[$_][3] = $format
    
        # Тут вывод чтобы просто отслеживать выполнение скрипта
        Write-Output "Data was changed"
    
    } -ThrottleLimit $threadslimit
    
    # Вывод самой коллекции в консоль, чтобы убедиться, что значения поменялись
    $synccollection


    Делает то же самое, использует практически нулевое количество памяти, работает быстрее.
    Ответ написан
    1 комментарий
  • Какой метод лучше для задания по расписанию скрипта PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Какой правильный способ для того, чтобы каждые 5 минут этот скрипт перезапускался, создавая новый файл, оставляя старые файлы?

    Вам именно надо чтобы скрипт перезапускался с самого начала или просто каждые 5 минут начинал писать в другой файл ?

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

    *-Job - вообще не для этого
    А вот Add-Content, как раз, хорошо подойдёт для дописывания логов
    Ответ написан
    6 комментариев
  • Как изменить шрифт терминала в Arch Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Использую alacritty, но чтобы фонт прописывали в его конфигах, я не видел


    уже не раз говорил про арчвики куда следует заглядывать в первую очередь
    https://wiki.archlinux.org/title/Alacritty#Font

    также у alacritty есть официальный сайт где подробно описывается его конфиг
    https://alacritty.org/config-alacritty.html

    то где лежит конфиг alacritty или куда нужно его положить
    https://wiki.archlinux.org/title/Alacritty#Configu...
    или даже на том же github
    https://github.com/alacritty/alacritty?tab=readme-...
    Ответ написан
    Комментировать
  • Как происходит управление перемещением программ в пользовательском пространстве?

    @Mercury13
    Программист на «си с крестами» и не только
    Программа туда не уместится, если не предусмотрено способа разбить её пополам. Перемещение происходит, если её адрес по умолчанию чем-то не нравится: или занят, или надо утрамбовать адреса плотнее (было важно в эпоху DOS), или…

    А пока — три важных ремарки.
    1. В пользовательском пространстве у нас 2 гигабайта или больше виртуальной памяти, и она условно «пуста»: в любых адресах этой памяти можно разместить что угодно. Но если мы обратимся к отсутствующей странице, получим аварийный останов — такова уж издержка виртуальности. Сначала надо обратиться к системному менеджеру памяти, и он выдаст рабочий диапазон адресов.
    2. Программа перемещается посегментно.
    3. Есть два главных способа перемещения программы: адресация от IP и relocations.

    Адресация от IP работает, понятное дело, если исходный и целевой адрес в одном сегменте. По какому адресу ни располагай сегмент — адреса от IP менять не надо. В x86, НЯЗ, она работает в одном-единственном случае: короткие переходы (±127 байтов). Ветвления все короткие, а если нужно ветвиться далеко — ответвляется на безусловный переход, который уносит далеко-далеко.

    В x64 режим адресации от IP есть во всех обращениях к памяти, переходах и вызовах, но только на ±2Г (точно не в курсе).

    Во всех версиях x86 базовый адрес при адресации от IP — это конец текущей команды, не начало.

    Relocations — это ремарки: сегмент 1 рассчитан на базовый адрес 12. Если он другой — подкорректируй адреса 34 и 56. Независимо от метода адресации — от IP или абсолютного. Если сегмент загрузился не по штатному адресу — например, 23 — к числам по адресам 34 и 56 прибавляем разницу 11. Скажем, было 78, стало 89.

    В архитектурах с сегментной памятью (x86-16) эта самая сегментная память — также метод перемещения программы. Старый добрый COM-файл имел абсолютные адреса, но только от начала текущего сегмента — и представлял собой исключительно машинный код, загружаемый по адресу не то 128, не то 256 (вот не помню). А перемещение его по памяти сводится к установке нужных значений в сегментные регистры SS/CS/DS/ES.
    (Да, *.COM не имел вообще никакого формата, это просто куча кода и данных, которая 1:1 грузится в память.)
    Ответ написан
    4 комментария
  • Формулировка оказания услуг маршрутизации вызовов?

    @Drno
    ЕСЛИ Вы предлагаете возможность голосовых вызовов для конечных заказчиков, ТО вы подпадаете под закон о связи, со всеми последующими лицензиями, законами "яровой", записью и прочим...
    если это всё сдается в аренду за деньги
    как миниум нужна лицензия связи, запись разговоров итд

    Ага.. еще и на freePBX пытаетесь свалить юр риски.. )) они же не предоставляют услуги связи, они предоставляют только ПО, которое в том числе умеет и голосовые вызовы "во вне" локальной сети. итд...
    Ответ написан
    9 комментариев
  • Как подчинить алгоритм YouTube?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Как подчинить алгоритм YouTube?

    Никак
    Во-первых, он не опубликован - только общее описание
    Во-вторых, он меняется часто, поэтому подстраиваться нет смысла
    Ответ написан
    Комментировать