Как отправить сообщение с компьютера, работающего на операционной системе Linux, на компьютер с операционной системой Windows в локальной сети?

Как отправить сообщение с компьютера Linux на компьютер с Windows 10 в локальной сети без установки сторонних программ на компьютере с Windows? Я хочу отправить текстовое сообщение, например, во всплывающем окне, без использования дополнительных программ на компьютере с Windows.
  • 24 октября 2023 г. 7:08
Ответы на вопрос 2
Есть несколько способов отправки сообщений с компьютера Linux на компьютер Windows в локальной сети без установки дополнительных программ на компьютере с Windows:

1. Использование команды `smbclient`. Она позволяет соединиться с удаленным компьютером Windows, который находится в одной локальной сети, и отправить туда файл, включая текстовое сообщение. Пример использования команды:

```
echo "Ваше сообщение" | smbclient -M NETBIOS_NAME_OF_WINDOWS_PC
```

Где `NETBIOS_NAME_OF_WINDOWS_PC` - это NetBIOS имя компьютера с Windows. Вы можете узнать его, открывая командную строку на компьютере Windows и выполнив команду `nbtstat -A IP_ADDRESS_OF_LINUX_PC`, где `IP_ADDRESS_OF_LINUX_PC` - это IP-адрес компьютера Linux.

2. Использование команды `net send`. Эта команда также позволяет отправлять сообщения в локальной сети, но она доступна только в старых версиях Windows (до Windows 7 включительно). Пример использования команды:

```
net send IP_ADDRESS_OF_WINDOWS_PC "Ваше сообщение"
```

Где `IP_ADDRESS_OF_WINDOWS_PC` - это IP-адрес компьютера Windows.

3. Использование программы `samba` для настройки сетевого обмена между компьютерами Linux и Windows. После установки и настройки `samba` на компьютере Linux, вы сможете отправлять сообщения с помощью команды `smbclient` (описанной в первом способе).

Некоторые из этих способов могут потребовать настроек прав доступа и локальных сетей.
Раньше можно было использовать штатный сервис Messenger в сети Microsoft. Для отправки сообщения командой msg на Windows 7 и более поздних версиях, мы не можем использовать smbclient -M. Однако, вы можете запустить скрипт, который будет отслеживать папку и отправлять сообщения с помощью msg каждый раз, когда появляется новый файл.

Например, вот пример скрипта, который можно использовать:

@echo off
setlocal enabledelayedexpansion
set "dir_path=c:\messages"

:loop

for %%f in ("%dir_path%\*") do (
    set /p msg_text=<"%%~f"
    msg "%%~nxf" "!msg_text!"
	del "!dir_path!\%%~nxf"
)

ping -n 2 localhost

goto loop

Чтобы отправить сообщение, вам нужно создать файл с именем пользователя в расшаренной папке c:\messages и внутри файла написать текст сообщения (в кодировке cp1251, если требуется использовать русский язык). Обратите внимание, что в имени пользователя не должно быть пробелов.

Или, если вам проще, вы можете установить на Windows сервере SSH-сервер и отправлять команды msg удаленно. OpenSSH доступен в качестве дополнительного компонента в настройках приложений Windows 10.
Похожие вопросы