Home Assistant — Desktop
Desktop App (Windows / macOS / Linux) for Home Assistant built with Electron
This project is fork from mrvnklm/homeassistant-desktop
Installation
Just download the latest version for your platform from the release section to install Home Assistant
Usage / Features
- hover / click the tray icon to open the app
- supports multiple instances of Home Assistant (including automatic switching)
- automatic instance discovery using bonjour
- right-click context menu for settings / reset / quit the app
- global keyboard shortcut (Cmd/Ctrl + Alt + X) can be enabled to show / hide Home Assistant
- fullscreen mode (Cmd/Ctrl + Alt + Return)
- automatic updates (if not disabled in context menu)
Notes
- if using «detached window» on Windows, instead of dragging, you have to resize it to move it
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License and Author
Copyright 2022, Ivan Prodanov
Copyright 2020-2021, Marvin Kelm
Licensed under the Apache License, Version 2.0 (the «License»);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an «AS IS» BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Install Home Assistant Operating System
Download the appropriate image
-
VirtualBox (.vdi)
-
VMware Workstation (.vmdk)
-
Hyper-V (.vhdx)
After downloading, decompress the image. If the image comes in a ZIP file, for example, unzip it.
Follow this guide if you already are running a supported virtual machine hypervisor. If you are not familiar with virtual machines, install Home Assistant OS directly on a Home Assistant Yellow, a Raspberry Pi, or an ODROID.
Create the virtual machine
Load the appliance image into your virtual machine hypervisor. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs).
Minimum recommended assignments:
- 2 GB RAM
- 32 GB Storage
- 2vCPU
All these can be extended if your usage calls for more resources.
Hypervisor specific configuration
VirtualBox
Unraid
KVM (virt-manager)
KVM (virt-install)
VMware Workstation
Hyper-V
- Create a new virtual machine.
- Select type Linux and version Linux 2.6 / 3.x / 4.x (64-bit).
- Under Hardware, select the amount of memory and number of CPUs. Then, select Enable EFI.
- Make sure EFI is enabled. If EFI is not enabled, HAOS won’t boot.
- Under Hard Disk, select Use an existing virtual hard disk file, select the unzipped VDI file from above.
- Then go to Network > Adapter 1. Choose Bridged Adapter and choose your network adapter.
Please keep in mind that the bridged
adapter only functions over a hardwired Ethernet connection.
Using Wi-Fi on your VirtualBox host is unsupported. - Then go to Audio and choose Intel HD Audio as audio controller.
By default, VirtualBox does not
free up unused disk space. To automatically shrink the vdi disk image the discard
option must
be enabled using your host machine’s terminal:
VBoxManage storageattach <VM name> --storagectl "SATA" --port 0 --device 0 --nonrotational on --discard on
More details can be found about the command can be found here.
- Download the .qcow2 image above and decompress it. (Extract all in Windows)
- Store the image in the isos share on your server.
- Make sure under Settings > VM manager, Enable VMs is enabled.
- Create a new virtual machine: VMS > Add VM.
- Select type Linux and give the VM a name and a description.
- Select the CPU cores you want to let the VM use and give it some memory.
- Under Primary vDisk Location, select Manual and then select the qcow2 image.
- Select your keyboard language under VM Console Keyboard.
- Select br0 under Network Source.
- Select virtio under Network model.
- Select any USB-devices that you want to pass through to Home Assistant, such as Zigbee- or Z-Wave controllers.
- Deselect Start VM after creation.
- Select Create.
- Select the name of your new VM and select the capacity number for your disk. Here, you can expand the disk to whatever your needs are. The default is 32 GB.
- Select the icon of your new VM and select start with console (VNC).
- Create a new virtual machine in
virt-manager
. - Select Import existing disk image, provide the path to the QCOW2 image above.
- Choose Generic Default for the operating system.
- Check the box for Customize configuration before install.
- Under Network Selection, select your bridge.
- Under customization select Overview > Firmware > UEFI x86_64: …. Make sure to select a non-secureboot version of OVMF (does not contain the word
secure
,secboot
, etc.), e.g.,/usr/share/edk2/ovmf/OVMF_CODE.fd
. - Click Add Hardware (bottom left), and select Channel.
- Select device type: unix.
- Select name: org.qemu.guest_agent.0.
- Finally, select Begin Installation (upper left corner).
virt-install --name haos --description "Home Assistant OS" --os-variant=generic --ram=4096 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi
If you have a USB
dongle to attach, you need to add the option --hostdev busID.deviceId
. You can
discover these IDs via the lsusb
command. As example, if lsusb
output is:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 30c9:0052 Luxvisions Innotech Limited Integrated RGB Camera
Bus 003 Device 003: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
Bus 003 Device 002: ID 06cb:00fc Synaptics, Inc.
Bus 003 Device 005: ID 8087:0033 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
You can recognize the Sonoff dongle at Bus 003 Device 003
. So the command to install the VM will become:
virt-install --name haos --description "Home Assistant OS" --os-variant=generic --ram=4096 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi --hostdev 003.003
Note that this configuration (bus 003, device 003) is just an example, your dongle could be on another bus and/or with another device ID.
Please check the correct IDs of your USB dongle with lsusb
.
- Start VMware Workstation and select Create a New Virtual Machine.
- Note: the exact name and location of the settings below depend on the VMware version. This procedure is based on version 17.
- Select I will install the operating system later, then select Linux > Other Linux 5.x kernel 64-bit.
- Give the VM a name,
home-assistant
, and define an easy to reach storage location, such asC:\home-assistant
. - Specify the disk size and select Store virtual disk as a single file.
- Select Customize Hardware.
- Define the amount of memory and the number of cores the VM is allowed to use.
- Remove the New CD/DVD entry. It will not be used.
- Connect an Ethernet cable and make sure it is connected to your network.
- Under Network adapter, select Bridged: Connected directly to the physical network.
- Make sure Replicate physical network connection state is not selected.
- Select Configure Adapters.
- Make sure all virtual adapters and Bluetooth devices are deselected.
- Select your host network adapter. Most likely, this is one of the first 2 checkboxes in the list:
- Select the one for Ethernet.
- The exact names of these adapters depend on your hardware.
- At the end of the wizard, select Finish.
Edit the VM settings
- In Windows Explorer, navigate to the storage location of your newly created VM, for example under
C:\home-assistant
. - Delete the
home-assistant.vmdk
file. - In the
Downloads
folder, find thehaos_ova_xx.x.vmdk
file.- If you haven’t unzipped the archive, unzip it.
- Within the folder, find the
.vmdk
file and rename it tohome-assistant.vmdk
. - Paste the file (not the unzipped folder) into the
C:\home-assistant
folder.
- Right-click the
.vmx
file and select Open with > Notepad. - Under
.encoding
, add a line. Enterfirmware = "efi"
. - Now continue with the next step to start your VM.
- If you see a message about side channel mitigations, select OK.
- If you see a message stating that the
.vmdk
file could not be found, in step 3, you likely pasted the folder, not the file. Repeat step 3.
⚠️ Hyper-V does not have USB support
- Create a new virtual machine.
- Select Generation 2.
- Select Connection > Your Virtual Switch that is bridged.
- Select Use an existing virtual hard disk and select the VHDX file from above.
After creation, go to Settings > Security and deselect Enable Secure Boot.
Start up your virtual machine
- Start the virtual machine.
- Observe the boot process of the Home Assistant Operating System.
- Once completed, you will be able to reach Home Assistant on homeassistant.local:8123. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at homeassistant:8123 or
http://X.X.X.X:8123
(replace X.X.X.X with your virtual machine’s IP address).
Help us improve Home Assistant
Have you just installed Home Assistant? The Home Assistant team is looking
to talk to you to understand how the installation went.
Help now
With the Home Assistant Operating System installed and accessible, you can continue with onboarding.
Install Home Assistant Core
Install WSL
To install Home Assistant CoreHome Assistant Core is the heart of Home Assistant itself. It is a Python program that powers every installation type, but can be installed standalone. [Learn more] on Windows, you will need to use the Windows Subsystem for Linux (WSL). Follow the WSL installation instructions and install Ubuntu from the Windows Store.
As an alternative, Home Assistant OS can be installed in a Linux guest VM. Running Home Assistant CoreHome Assistant Core is the heart of Home Assistant itself. It is a Python program that powers every installation type, but can be installed standalone. [Learn more] directly on Windows is not supported.
Caution
This is an advanced installation process, and some steps might differ on your system. Considering the nature of this installation type, we assume you can handle subtle differences between this document and the system configuration you are using. When in doubt, please consider one of the other installation methods, as they might be a better fit instead.
Prerequisites
This guide assumes that you already have an operating system setup and have installed Python 3.13 (including the package python3-dev
) or newer.
Install dependencies
Before you start, make sure your system is fully updated, all packages in this guide are installed with apt
, if your OS does not have that, look for alternatives.
sudo apt-get update
sudo apt-get upgrade -y
Install the dependencies:
sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff6 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev
The above-listed dependencies might differ or missing, depending on your system or personal use of Home Assistant.
Create an account
Add an account for Home Assistant Core called homeassistant
.
Since this account is only for running Home Assistant Core the extra arguments of -rm
is added to create a system account and create a home directory.
sudo useradd -rm homeassistant
Create the virtual environment
First we will create a directory for the installation of Home Assistant Core and change the owner to the homeassistant
account.
sudo mkdir /srv/homeassistant
sudo chown homeassistant:homeassistant /srv/homeassistant
Next up is to create and change to a virtual environment for Home Assistant Core. This will be done as the homeassistant
account.
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
Once you have activated the virtual environment (notice the prompt change to (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $
) you will need to run the following command to install a required Python package.
python3 -m pip install wheel
Once you have installed the required Python package, it is now time to install Home Assistant Core!
pip3 install homeassistant==2025.4.4
Troubleshooting: If you do not see the above version of Home Assistant package in your environment, make sure you have the correct Python version installed, as defined under the Prerequisites.
Start Home Assistant Core for the first time. This will complete the installation for you, automatically creating the .homeassistant
configuration directory in the /home/homeassistant
directory, and installing any basic dependencies.
You can now reach your installation via the web interface on http://homeassistant.local:8123
.
If this address doesn’t work you may also try http://localhost:8123
or http://X.X.X.X:8123
(replace X.X.X.X with your machines’ IP address).
Note
When you run the hass
command for the first time, it will download, install and cache the necessary libraries/dependencies. This procedure may take anywhere between 5 to 10 minutes. During that time, you may get a site cannot be reached error when accessing the web interface. This will only happen the first time. Subsequent restarts will be much faster.
Help us improve our documentation
Suggest an edit to this page, or provide/view feedback for this page.
Edit
Provide feedback
View given feedback
Have you ever wished for a Home Assistant Desktop app that seamlessly works on Windows, Linux, and Mac? While the official companion app is designed for mobile phones and Mac only, I stumbled upon a workaround – two versatile applications that function across all major operating systems. Let me introduce you to Home Assistant Desktop and Home Assistant Assist – Desktop, and guide you through their installation and configuration on Windows, Mac, and Linux.
Table of Contents
This is how the Home Assistant Desktop app looks like once installed and configured:
To get started, visit the official GitHub page of Home Assistant Desktop. It’s a community-driven, open-source project, so you won’t find it on the official app stores. Unfortunately, at the time of writing this article the last version is almost a year old, but everything is working good and I hope this project will remain supported in the future.
Choose a version that matches your system (Windows, Linux, Mac). I downloaded the 64-bit version for Windows from the Release Section > Assets in the GitHub repo.
Then I double clicked the .exe file and I installed the program as usual (be aware that Windows will not recognize the app as trusted and will try to warn you, but just ignore that).
Home Assistant Desktop – Configuration
Once you start the Home Assistant Desktop app you need to enter your Home Assistant URL starting with http:// or https:// and ending with default port. Example: http://10.0.0.2:8123
From the configuration of the app, you can:
- Add multiple Home Assistant instances
- You can set the app to be always on top
- To auto start at Login
- To detach the Home Assistant Desktop window
- Fullscreen, keyboard shortcuts and more
On Windows you have to right-click on the Home Assistant Desktop icon in the lower right corner to see the app settings.
Despite not offering the same sensor-rich experience as the official Companion app, Home Assistant Desktop provides quick access to your Home Assistant on your desktop, but is it quicker for you than opening the Home Assistant URL in a browser as usual? Let me know what do you think in the comments below!
If you don’t want to read, but watch…
Tired of reading, no problem check the video tutorial below:
Diving into Home Assistant Assist – Desktop
Now, let’s explore Home Assistant Assist – Desktop, which focuses on the Assist functionality of Home Assistant. This is how the program looks like once installed and configured:
Navigate to the installation section on the Home Assistant Assist – Desktop GitHub page, and download the appropriate package for your system – Windows, Linux, or Mac. The user-friendly interface allows you to send text and voice commands directly from your desktop to your smart home.
Follow the simple installation steps for Home Assistant Assist – Desktop, entering your Home Assistant URL and Long-Lived Access Token when prompted. Long-Lived Access Token can be created by clicking on your Home Assistant username > Long-lived access tokens > Create token
Ensure your Home Assistant has HTTPS access to enable voice commands through the app. If needed, refer to my tutorials for setting up HTTPS access.
I will type my free duckdns subdomain, but I will censor it, because I don’t want someone to see my top secret Home Assistant automations and scripts. If you wish to see them anyways, then register for my upcoming webinar about Home Assistant at https://automatelike.pro/webinar
After completing the configuration, you can issue text commands and even use voice commands, provided you have a suitable voice pipeline.
Comparing Experiences
In comparison to the official Companion app, Home Assistant Desktop offers quick access without the sensor-rich environment. While the official app activates various sensors in Home Assistant (in Mac and Mobile Phones only), the desktop version simplifies accessibility.
Home Assistant Assist – Desktop, on the other hand, focuses on bringing the Assist functionality to your desktop, allowing seamless interaction via text and voice commands.
Whether you’re on Windows, Mac, or Linux, these desktop apps can enhance your Home Assistant experience. If you’re an Apple Silicon user, the official Companion app might be more suitable for Mac.
Conclusion and Smart Home Glossary
In summary, these desktop apps offer a convenient alternative to the official mobile-centric Companion app. For a deeper understanding of smart home terminology, download my Smart Home Glossary at https://automatelike.pro/glossary
Thanks for reading, and see you next week!
Это приложение для Windows под названием Home Assistant, последнюю версию которого можно загрузить как 2023.10.5sourcecode.zip. Его можно запустить онлайн на бесплатном хостинг-провайдере OnWorks для рабочих станций.
Загрузите и запустите онлайн это приложение под названием Home Assistant с OnWorks бесплатно.
Следуйте этим инструкциям, чтобы запустить это приложение:
— 1. Загрузил это приложение на свой компьютер.
— 2. Введите в нашем файловом менеджере https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 3. Загрузите это приложение в такой файловый менеджер.
— 4. Запустите любой онлайн-эмулятор OS OnWorks с этого сайта, но лучше онлайн-эмулятор Windows.
— 5. В только что запущенной ОС Windows OnWorks перейдите в наш файловый менеджер https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 6. Скачайте приложение и установите его.
— 7. Загрузите Wine из репозиториев программного обеспечения вашего дистрибутива Linux. После установки вы можете дважды щелкнуть приложение, чтобы запустить его с помощью Wine. Вы также можете попробовать PlayOnLinux, необычный интерфейс поверх Wine, который поможет вам установить популярные программы и игры для Windows.
Wine — это способ запустить программное обеспечение Windows в Linux, но без Windows. Wine — это уровень совместимости с Windows с открытым исходным кодом, который может запускать программы Windows непосредственно на любом рабочем столе Linux. По сути, Wine пытается заново реализовать Windows с нуля, чтобы можно было запускать все эти Windows-приложения, фактически не нуждаясь в Windows.
СКРИНШОТЫ
Домашний помощник
ОПИСАНИЕ
Home Assistant — это мощное приложение для домашней автоматизации с открытым исходным кодом, в котором приоритет отдается локальному управлению и конфиденциальности. Он предлагает отличную безопасность и функции, при этом ваши данные надежно хранятся вне облака. Он может дать вам контроль над всеми вашими устройствами из единого, удобного для мобильных устройств интерфейса и будет отслеживать состояние всех этих устройств, так что вам не придется.
Home Assistant поддерживается мировым сообществом и идеально работает на Raspberry Pi или локальном сервере. Его можно настроить для автоматического управления устройствами, поэтому, если вы хотите получать оповещения, когда свет включается, когда вас нет дома, или хотите, чтобы свет автоматически гаснул, когда вы начинаете смотреть фильм на Chromecast, Home Assistant может сделай это за тебя. Больше примеров смотрите на официальном сайте: https://www.home-assistant.io/
Особенности
- Мобильный интерфейс
- Частный и безопасный, 100% локальный, без хранения данных в облаке
- Настройте расширенные правила для автоматизации
- Множество функций интеграции, включая Amazon Alexa, Dark Sky, Google Assistant, Sonos, Wink и другие.
Язык программирования
Питон
Категории
Home Automation
Это приложение также можно загрузить с https://sourceforge.net/projects/home-assistant.mirror/. Он размещен в OnWorks, чтобы его можно было легко запускать в Интернете с помощью одной из наших бесплатных операционных систем.
Скачать приложения для Windows и Linux
- Приложения для Linux
- Приложения для Windows
-
1
- Archlabs_repo
- Репозиторий пакетов для ArchLabs Это
приложение, которое также можно получить
от
https://sourceforge.net/projects/archlabs-repo/.
Он был размещен на OnWorks в… - Скачать archlabs_repo
-
2
- Зефир Проект
- Проект Zephyr — новое поколение
операционная система реального времени (RTOS), которая
поддерживает несколько аппаратных средств
архитектуры. Он основан на
компактное ядро … - Скачать проект Зефир
-
3
- SCons
- SCons — инструмент для создания программного обеспечения
это лучшая альтернатива
классический инструмент сборки «Make»,
мы все знаем и любим. SCons — это
реализовал … - Скачать SCons
-
4
- PSInt
- PSeInt — интерпретатор псевдокода для
испаноязычные студенты-программисты.
Его основная цель — быть инструментом для
изучение и понимание основных
концепция … - Скачать PSInt
-
5
- oStorybook
- oСборник рассказов l’outil privil�gi� des
�crivains. ВНИМАНИЕ : voir sur
http://ostorybook.tuxfamily.org/v5/
—en_RU oStorybook правильный инструмент для
писатели. ВНИМАНИЕ… - Скачать oStorybook
-
6
- Асусврт-Мерлин
- Asuswrt-Merlin является сторонним поставщиком
прошивка для выбора беспроводной сети Asus
маршрутизаторы. На основе прошивки Asuswrt
Разработанный Asus, он содержит твики, новые
особенности и … - Скачать Asuswrt-Merlin
- Больше »
Команды Linux
-
1
- aarch64-Linux-GNU-GDC-5
- gdc — основанный на GCC компилятор для D
язык … - Запустите aarch64-linux-gnu-gdc-5
-
2
- aarch64-linux-gnu-gdc
- gdc — основанный на GCC компилятор для D
язык … - Запустите aarch64-linux-gnu-gdc
-
3
- повар
- cookboob — поиск и просмотр рецептов …
- Беги кукбуб
-
4
- повар
- cookfp — вычислить отпечаток файла …
- Запустить повар
-
5
- гбемол
- gbemol — графический интерфейс для
Демон музыкального проигрывателя (MPD) … - Запустить гбемол
-
6
- гбенв
- gbenv — языковой стандарт с плавающей запятой и
gbutils settings ОПИСАНИЕ: Показать
среда с плавающей запятой (для x86
семейство процессоров), локаль и gbutils
настройки. Информация… - Запустить gbenv
- Больше »
Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров50K
Несмотря на огромное количество текстов по установке Home Assistant, решил написать свой.
В первую очередь для себя, чтобы при повторной установке не рыться в бесконечном количестве ссылок.
Home Assistant развивается, часть мануалов устарела, часть содержит ошибки, часть написана Очень Умными Парнями, живущими в Линуксе и которые пишут что-то вроде: «сделай три раздела, два для систем и один для хомяка, и при установке систем подключай раздел с хомяком к каждой, только не форматируй его постояннo» (с). Это подлинная цитата, причём одна из самых понятных.
Мой текст написан виндузятником для себя и для людей, которые видят командную строку максимум раз в пару дней и не обязаны помнить все ключи команд линкуса. Описан весь процесс, собранный по многим мануалам. На часть мануалов приведена ссылка.
Итак.
В качестве подопытного был выбран ноутбук Acer Aspire E15. Тупо был. Был куплен бэушным семь лет назад за 10 тыс. рублей для разъездного менеджера по принципу: если потеряет – чтобы было не жалко. То есть, он был изрядно устаревшим уже тогда. Потом лежал на антресолях, всеми забытый. Думаю, в каждой мало-мальской приличной фирме такого хлама найдется с десяток штук и вам его подарят за пару пива знакомому сисадмину. Если нет знакомого сисадмина, то авито в помощь. Все равно в итоге получится в те же деньги или чуть дешевле и лучше, чем приличный одноплатник. Плюсом вы получите нормальный процессор, жесткий диск вместо вечно умирающей флешки и, если повезёт, не совсем дохлую батарею вместо источника бесперебойного питания.
На моём ноуте был проводной Ethernet, кто-то (возможно даже я) уже позаботился дорастить память до 8Gb вместо 4 и воткнуть древний SATA SSD диск на 256 Gb. Для работы с Windows так себе, но для моих целей – за глаза.
Способ установки — виртуальная машина на Debian. Попробую объяснить, почему.
1. Немного пояснений
1.1. Почему всё-таки, хоть плохонький, но PC, я объяснил выше. Основное – это желание иметь полноценный жесткий диск. Наличие у ноута своего экрана и клавиатуры – тоже плюс в тех редких случаях, когда удалённый доступ почему-либо невозможен.
1.2. С другой стороны, для одного HA, такой машины, всё таки, жирновато, поэтому хочется, если уж затевать такую пьянку, повесить на него функции домашнего NAS на внешнем диске и DLNA сервера, чтобы смотреть скачанные с торрентов купленные на официальных сервисах кино долгими зимними вечерами. Чуть позже добавится маленький Apache и VPN сервер.
1.3. Можно тупо поставить HASSOS, как операционную систему. Тогда DLNA и NAS можно запустить, как плагины. Я попробовал — мне не понравилось. Во-первых очень заморочная установка, во-вторых нужные мне плагины показались мне довольно кривыми. В третьих, сама операционка и мои права в ней усечены до крайности. Для Raspberry пойдет, для полноценного ноута – так себе.
1.4. Можно поставить как контейнер в докере. В таком случае вы автоматически лишаетесь плагинов. Среди них есть очень даже полезные. Можно, конечно, каждый из них ставить отдельными контейнерами. По мне – тот еще гемор.
1.5. Более продвинутый вариант – тот же докер в режиме Supervised. Моя предыдущая установка была именно такая. Плагины работают. Не все, правда, но почти все. Но с какого-то обновления пошли необъяснимые проблемы с совместимостью, перестал обновляться супервизор. Стал рыться – проблема не у меня одного. Возникает спорадически у разных людей. Лечение – полная переустановка. Или «Обновитесь до последней версии». А у меня какая??? Я тебя ставил 10 минут назад. Бесит, короче.
1.6. Ну и чисто эстетически мне перестал нравится docker. Постоянная борьба с логами, которые он пишет в самые затейливые места и тихо засирает диск, проблемы с совместимостью пакетов. Нельзя, как в Windows, поставить пакет, а потом его просто удалить. Обязательно либо остаются хвосты по всему диску, либо удаляемый пакет забирает с собой что-то важное. То есть – штука одноразовая. Короче, после очередного раунда безуспешной борьбы, я решил, что у меня есть более важные занятия в жизни, чем разбираться в докере и его причудах. Память позволяет, диск позволяет, процессор позволяет. Итак: виртуальная машина с HASSOS живёт, никому не мешает и ей никто не мешает. В остальной памяти делаю, что хочу.
2. Предварительные ласки
2.1. Загружаем образ Debian с официального сайта. Можно любой другой дистрибутив Linux. Лично мне нравится Debian своей незамутненностью. Он не пытается быть похожим на винду, как многие, ибо все равно получается плохо. Такой чистый брутал. Стабильный. Ну и много литературы по нему, конечно. Внимание. Некоторые команды отличаются в разных дистрибутивах. Всё, что написано далее – написано про Debian 12.
2.2. Скачиваем с официального сайта последнюю версию Rufus. Вставляем флешку, все настройки по умолчанию, выбираем только что скачанный образ — делаем загрузочную флешку.
3. Установка
3.1. На ноуте, нажинаем F2 при загрузке, проверяем настройки загрузки. В параметрах должно стоять UEFI, флешка первой в порядке загрузки. Корректируем при необходимости.
3.2. Для некоторых дистрибутивов (например для HASSOS) требуется отключить безопасную загрузку, но соответствующий пункт меню подсвечен серым и не выбирается. Для того, чтобы его активировать, нужно установить пароль супервизора. После этого выбор режима безопасной загрузки становится активным. К счастью, Debian 12 такого не требует. Оставляем, как есть. Если безопасный режим всё-таки выключен, то ИМХО лучше включить.
3.3. Запускается загрузка. Выбираем установку в графическом режиме. Красноглазые поборники расовой чистоты пингвинов конечно фыркнут, но графический режим чисто визуально приятнее.
3.4. Выбор языка. Выбираем русский, страну, раскладку клавиатуры, часовой пояс. Далее пароли администратора, имя и пароли пользователя и т.п.
3.5. Сетевые карты установились автоматически, но иногда приходится бежать за драйвером. На этот случай полезно иметь под рукой второй компьютер и еще одну флешку.
3.6. Спрашивает про разметку диска. Я весь диск отдал целиком, с разделами по умолчанию. Переспросила — уверен ли я. Уверен. Все данные на диске уничтожены. Плакать поздно.
3.7. Выбор софта. Я оставляю выбор по умолчанию, оболочку Gnome по причинам, указанным в п.1.1, добавляю к умолчанием еще SSH сервер. После этого можно идти пить чай. Что-то устанавливается сразу, что-то подкачивается из интернета и тоже устанавливается. Процесс небыстрый.
3.8. Перезагрузка. Вынимаем флешку. После перезагрузки нелишне проверить в биосе порядок загрузки. Правим при необходимости.
4. Настраиваем вход через терминал
4.1. Идем в настройки роутера, ищем нового клиента, в настройках DHCP прописываем ему статический адрес. Передергиваем DHCP, убеждаемся, что ваш компьютер переподключился по новому адресу. Выписываем адрес на листочек, запоминаем.
4.2. Теперь можно заходить на него со своего рабочего компьютера по SSH через PuTTY или что-у-вас-там-вместо-телнета.
4.3. Свой логин и пароль, введенные ранее в п.2.4., надеюсь, помним?
5. Включаем себя в группу sudo
5.1. Заходим под рутом. Другой вариант – заходить под своим логином , далее уходить в root командой su –
usermod -aG sudo ИмяПользователя
5.2. Возвращаемся обратно
su
– «Имя пользователя»
4.3. Проверяем. Например:
sudo ls -la /root
6. Лично мне иногда удобно пользоваться графическим удаленным рабочим столом. Настраиваем его. Опционально.
5.1. Включаем
sudo apt install xrdp
5.2. В Windows набираем «Подключение к удаленному рабочему столу». Получаем примерно это.
5.3. Вводим адрес из п. 3.1. Подключаемся.
7. Убираем засыпание Debian
7.1. Убираем общие засыпания.
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
7.2. Поскольку у нас ноутбук, нам надо убирать засыпание при закрытии крышки
sudo nano /etc/systemd/logind.conf
7.3. В секции [Login] Находим строчки HandleLidSwitch= и HandleLidSwitchDocked=
7.4. Ставим ignore
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
7.5. Не забываем раскомментировать.
7.6. Сохраняем, выходим,
7.7. Рестарт службы
sudo systemctl restart systemd-logind.service
8. Полезности
8.1 Файл менеджер mc. Опционально. Иногда удобно.
sudo apt install mc
8.2. Пакет управления сетью. Потребуется для следующих шагов.
sudo apt install ethtool
9. Если несмотря на ИБП питание выключилось, а с ним выключился компьютер, полезно иметь возможность разбудить компьютер по сети
9.1. При загрузке, заходим в BIOS. Проверяем в биосе, что WOL включен. Если не включен – включаем.
9.2. Смотрим список сетевых интерфейсов
ip a
9.3. Находим название проводного интерфейса. Обычно это eth0, но бывают варианты. У меня enp3s0
9.4. Делаем временный WOL
sudo ethtool --change enp3s0 wol g
9.5. Проверяем
sudo ethtool enp3s0
9.6. Смотрим вывод. Ищем строчку wake-on: g. Если есть, то всё в порядке.
9.7. Запихиваем это в автозагрузку. Для этого:
9.8. Узнаем путь к ethtool
which ethtool
9.9. Смотрим вывод. У меня оно хранится в /usr/sbin/ethtool
9.10. Создаём файл wol.service в /etc/systemd/system
sudo nano /etc/systemd/system/wol.service
9.11. В него вписываем:
[Unit]
Description=Enable Wake On Lan
[Service]
Type=oneshot
ExecStart = /usr/sbin/ethtool --change enp3s0 wol g
[Install]
WantedBy=basic.target
9.12. Запускаем службу
sudo systemctl daemon-reload
sudo systemctl enable wol.service
9.13. Проверяем
sudo shutdown
9.14. Будим машину удобным для вас способом. В интерфейсе кинетике для есть специальная кнопочка.
9.15. Если все работает, настраиваем автозапуск будилки на роутере или на другом внешнем устройстве гарантированно запасающемся по сбою питанию. На Keenetic это делается через opkg
10. Устанавливаем виртуальную машину.
(сперта https://g-soft.info/linux/10968/kak-ustanovit-virtualbox-7-0-v-debian/)
10.1. Проверяем зависимости, большая часть уже на месте, те, которых не хватает, устанавливаем.
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl -y
10.2. Необходимо импортировать ключ GPG (GNU Privacy Guard). Ключ GPG является частью системы криптографии с открытым ключом, которая позволяет убедиться в том, что устанавливаемые пакеты являются подлинными и получены из официального репозитория VirtualBox
curl -fSsL https://www.virtualbox.org/download/oracle_vbox_2016.asc | gpg --dearmor | sudo tee /usr/share/keyrings/virtualbox.gpg > /dev/null
10.3. Добавляем репозиторий Virtialbox
echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/virtualbox.gpg] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox-7.list
10.4. Обновляем список репозиториев
sudo apt update
10.5. Установка Virtual Box
sudo apt install virtualbox-7.0 linux-headers-$(uname -r) -y
10.6. Добавляем пользователя в группу
sudo usermod -aG vboxusers alexl
10.7. Находим значок VirtialBox. Запускаем, проверяем
11. Установка Home assistant.
подсмотрено здесь: https://ivan.bessarabov.ru/blog/how-to-install-home-assistant-in-virtualbox)
11.1. Скачиваем vdi образ с официального сайта https://www.home‑assistant.io/installation/alternative
11.2. Разархивируем
11.3. Открываем виртуальную машину
11.4. На правой панели жмём Создать
11.5. Пишем название (лучше без пробелов)
11.6. Образ ISO оставляем пустым
11.7. Тип: Linux
11.8. Версия: Linux 2.6 / 3.x / 4.x (64-bit).
11.9. Вкладка Оборудование: сколько не жалко, но не менее 2 процессоров и не менее 2GB RAM
11.10. Ставим галку EFI
11.11. Вкладка Жесткий диск: ставим использовать существующий виртуальный диск. Выбираем наш скачанный образ
11.12. Создать машину
11.13. Идем в опции сети. Меняем NAT на bridge
11.14. Запускаем
12. Настройка доступа из сети
12.1. Идем в роутер, видим новое устройство. Это виртуальная машина. Прописываем ей статический адрес
12.2. В настройках роутера прописываем доменное имя на этот адрес и порт 8123
13. Прописываем автозапуск виртуальной машины при перезагрузке.
(https://redos.red-soft.ru/base/arm/os-virtual/virtualbox/virtualbox-autostart/)
13.1. Создаем новую службу
sudo nano /etc/systemd/system/vbox@.service
13.2. Прописываем туда
Description=Virtual Box Guest %I
After=network.target vboxdrv.service
Before=runlevel2.target shutdown.target
[Service]
User=свой юзернайм
Group=vboxusers
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/usr/bin/VBoxManage startvm %i --type headless
ExecStop=/usr/bin/VBoxManage controlvm %i acpipowerbutton
[Install]
WantedBy=multi-user.target
13.3. Реинициализируем службы.
systemctl daemon-reload
13.4. %1 в первой строке – это параметр, куда вставляется имя или идентификатор вашей виртуальной машины. Имя вы знаете из п. 10.5, но идентификатор использовать правильнее. Узнаем его
VBoxManage list vms
13.5. Находим нужную машину, копируем идентификатор, вставляем в следующую команду
sudo systemctl status vbox@идентификатор
13.6. Что‑то вроде:
sudo systemctl status vbox@cea2060b-61a1-44a1-b5df-f9a6b0b82f43
13.7. Если ошибки нет, смотрим статус. После @будет ваш идентификатор.
sudo systemctl status vbox@cea2060b-61a1-44a1-b5df-f9a6b0b82f43
13.8. Если все норм, добавляем в автозагрузку. (идентификатор меняем на свой)
sudo systemctl enable vbox@cea2060b-61a1-44a1-b5df-f9a6b0b82
f43
14. Финальная настройка
14.1. Заходим по вашему адресу, например:
http://192.168.0.15:8123
14.2. Или, как у меня
https://Hassio.mydomen.keenetic.pro
14.3. Вводим пароль, логин
14.4. Ждём
14.5. Настраиваем параметры места.
14.6. Пользуемся!