AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / 问题

Perguntas[tty](unix)

Martin Hope
Alfie
Asked: 2025-03-19 00:32:01 +0800 CST

O Void Linux TTY continua pressionando Enter sozinho

  • 5

Esse problema aparece com os kernels 6.12.18, 6.12.17 e 6.12.16.

O SO inicializa e então sou solicitado a fazer login no tty. Eu insiro um nome de usuário e pressiono Enter. Quando tento inserir uma senha, ele insere uma nova linha logo quando eu insiro a primeira letra. Às vezes é a segunda letra. Isso está tornando impossível fazer login no sistema. Eu verifiquei problemas semelhantes e eles disseram que uma atualização ou um kernel mais antigo deveria consertar, mas nenhum dos dois funcionou.

tty
  • 2 respostas
  • 24 Views
Martin Hope
xOcloah
Asked: 2024-10-03 15:30:33 +0800 CST

Como posso aumentar o número inicial de dispositivos secundários (64) para dispositivos /dev/ttyS* no Linux?

  • 6

Recentemente precisei aumentar o número máximo de tty(não ttyS*) no sistema de 63 para 128. Mas olhando o código-fonte do Linux, descobri que o arquivo include/uapi/linux/linux/vt.hcontém

#define MIN_RN_CONSOLES 1 /* must be at least 1 */
#define MAX_RN_CONSOLES 63 /* serial lines start at 64 */

No final diz que as linhas seriais começam em 64

Eu verifiquei:

$ stat -c %Hr:%Lr /dev/tty63
4:63
$ stat -c %Hr:%Lr /dev/ttyS0
4:64

e de fato começa em 64

Tentei encontrar uma linha semelhante nos arquivos de inclusão (como MIN_SERIAL_CONSOLES), mas não consegui.

Como posso fazer com que o menor número /dev/ttyS0comece com 129outros 128 que pertençam a /dev/tty1... tty128?

tty
  • 1 respostas
  • 18 Views
Martin Hope
Carmine Esposito
Asked: 2024-07-11 13:23:22 +0800 CST

Como posso ter vários clientes TCP conectados ao servidor ttyS0?

  • 5

Estou tentando testar o seguinte ambiente:

Um servidor (é um roteador, possui busybox e alguns outros cmd) com uma porta serial física e soquete aberto

#tcpsvd -v 0.0.0.0 -p 999 gato /dev/ttyS0

Vários clientes se conectando ao servidor

Meus problemas: 1 quando escrevo para ttyS0, os dados de uma nova linha são enviados aleatoriamente para apenas um cliente por vez, gostaria que fosse para todos ao mesmo tempo. 2 o que posso usar em vez de cat para ter uma comunicação bidirecional? 3 Como posso fazer com que o fluxo seja feito byte por bye, enviado e não linha por linha?

Obrigado!

tty
  • 1 respostas
  • 22 Views
Martin Hope
user22476690
Asked: 2024-06-12 16:31:41 +0800 CST

Como adicionar atraso ao meu terminal?

  • 6

Gosto da experiência que obtenho ao usar o terminal em um dispositivo remoto onde há um atraso visível entre o que digito e o que acontece na tela, porque me obriga a confiar nas ações que estou realizando. Às vezes eu gostaria de treinar meus dedos um pouco assim e replicar esse tipo de atraso na minha configuração local.

Eu uso a tela GNU na maior parte do meu trabalho e pensei que isso deveria ser possível de alguma forma. Olhando para o manual , vejo apenas uma opção para definir a taxa de transmissão ao iniciar a tela em um tty, mas não consigo compreendê-la completamente e descobrir como modificar a taxa de transmissão em uma screensessão em execução.

Alguém sabe como definir e modificar tal atraso/taxa de transmissão em uma sessão aberta, com tela ou não?

Obrigado.

tty
  • 1 respostas
  • 38 Views
Martin Hope
Matteo Sperini
Asked: 2024-04-30 00:37:01 +0800 CST

De onde o comando finger leva as informações sobre as permissões de gravação do tty's

  • 5

Estou tentando criar meu próprio fingercomando em C no Linux Mint. Estudando o comando real fingerentendi que o asterisco que os comandos colocam ao usar o formato de saída curto deixa o tty é quando um dos usuários tem a permissão de gravação desabilitada, a permissão usada para enviar e receber mensagens entre tty's eu presumo, que pode ser habilitado com o mesg ycomando.

O ponto da minha pergunta é: onde fingerobtém as informações sobre as permissões de gravação do tty? Tentei pesquisar o arquivo utmp, mas não consigo encontrar algo relevante :(

Além disso, se eu desabilitar a permissão de gravação no tty conectado à GUI, por que o finger comando coloca o asterisco na entrada pts/0, em vez de perto do meu tty?

como

matteo      tty7     2:40  Apr 29 16:10 (:0)
matteo      *pts/0         Apr 29 17:20

obrigado antecipadamente e desculpe se escrevi algo errado, é a primeira vez que me aprofundo tanto no Linux :)

tty
  • 1 respostas
  • 21 Views
Martin Hope
Alex028502
Asked: 2024-03-11 03:25:11 +0800 CST

o controle de trabalho não funciona quando tento configurar o getty via serial

  • 6

Estou tentando configurar o getty para fazer login via serial (principalmente como um experimento).

Com quase qualquer configuração, acontece a mesma coisa. Se meu shell padrão for bash, recebo esta mensagem após fazer login:

-bash: cannot set terminal process group (15297): Inappropriate ioctl for device
-bash: no job control in this shell

e então, para provar que não funciona, não posso usar ctrl+C para parar programas:

$ sleep 30
^C

e não parece enviar o sinal.

Estas são as configurações que tentei:

Eu tentei esses dois comandos

# copied from raspberry pi:
sudo /sbin/agetty --keep-baud 115200,38400,9600 ttyUSB0 vt220
# something else I read somewhere
sudo getty -L ttyUSB0 9600 vt100
# (I know I'm mixing and matching a lot of differences but the result is the same)

Eu tentei tanto o screen quanto o picocom como cliente.

Eu tentei usar um rasberry pi como servidor e dois laptops Ubuntu diferentes.

Eu tentei dois FTDIs, dois adaptadores USB RS-485 e um RS232 integrado no lado getty com um USB RS232 no lado do cliente.

Também tentei alterar meu shell padrão para sh e dash. Não recebo a mensagem, mas ctrl+C ainda não funciona como esperado

O engraçado é que quando o Raspberry Pi é configurado automaticamente /dev/ttyAMA0e usa exatamente o comando getty que eu coloquei, o controle do trabalho funciona!

E as configurações do terminal são quase idênticas. (exceto -iutf8 na verdade)

aqui estão as configurações do terminal com a conexão FTDI e picocom rodando:

$ stty -a -F /dev/ttyUSB0
speed 9600 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = <undef>; discard = <undef>; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal
-crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr
-icrnl ixon ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0
tab0 bs0 vt0 ff0
isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase
-tostop -echoprt echoctl echoke -flusho -extproc
$ stty -a -F /dev/ttyUSB1
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal
-crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr
-icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0
cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase
-tostop -echoprt echoctl echoke -flusho -extproc

O que estou fazendo de errado? E por que funciona com a configuração integrada para a porta serial integrada no Raspberry Pi?

tty
  • 1 respostas
  • 21 Views
Martin Hope
IArchi
Asked: 2024-02-02 16:44:39 +0800 CST

Copiar e colar tela GNU quebra linhas

  • 6

Estou executando um Armbian em um PI e opero-o através de um dongle Serial USB TTL.

Estou executando o seguinte comando para conectar-me ao PI:

screen /dev/tty.usbXXXX 115200

Posso fazer login e executar comandos com sucesso, mas quando tento colar um arquivo longo, as coisas dão terrivelmente errado porque as quebras de linha são quebradas.

Por exemplo, se eu copiar e colar o seguinte arquivo (CRLF):

version: "3.9"

services:
  ip-initializer:
    image: myImage
    restart: unless-stopped
    environment:
      MODULE: ip-initializer
      IP: 10.0.0.19
      LOGLEVEL: info
    volumes:
      - ./docker-compose.yml:/docker-compose.yml
      - ./logs:/logs
    privileged: true
    network_mode: host
    cap_add:
      - NET_ADMIN
    healthcheck:
      test: ["CMD-SHELL", "ip addr show dev eth0 | grep -q $$IP || exit 1"]

  telnet-haas:
    image: myImage
    restart: unless-stopped
    environment:
      MODULE: telnet-haas
      IP: 10.0.0.20
      PORT: 8081
      DPRINT_PORT: 8080
      COMMANDS: '["?Q102", "?Q100", "?Q500", "?Q303", "?Q201", "?Q600 8505", "?Q600 8511", "?Q600 8512", "?Q600 8515", "?Q600 3011", "?Q600 3027"]'
      LOGLEVEL: info
    devices:
      - '/dev/ttyS1:/dev/ttyOpto'
    volumes:
      - ./logs:/logs
    ports:
      - "10.0.0.20:8081:8081/tcp"
      - "10.0.0.20:8080:8080/tcp"
    depends_on:
      - ip-initializer:
          condition: service_healthy

  telnet-haas2:
    image: myImage
    restart: unless-stopped
    environment:
      MODULE: telnet-haas2
      IP: 10.0.0.21
      PORT: 8081
      DPRINT_PORT: 8080
      COMMANDS: '["?Q102", "?Q100", "?Q500", "?Q303", "?Q201", "?Q600 8505", "?Q600 8511", "?Q600 8512", "?Q600 8515", "?Q600 3011", "?Q600 3027"]'
      LOGLEVEL: info
    devices:
      - '/dev/ttyS2:/dev/ttyOpto'
    volumes:
      - ./logs:/logs
    ports:
      - "10.0.0.21:8081:8081/tcp"
      - "10.0.0.21:8080:8080/tcp"
    depends_on:
      - ip-initializer:
          condition: service_healthy

A série produzirá:

insira a descrição da imagem aqui

Adiciona quebras de linha e parece editar o conteúdo mesmo que nenhuma tecla tenha sido pressionada.

Há algo que preciso mudar para corrigir isso?


EDITAR:

Adicionar a seguinte linha a ~/.nanorc resolveu o problema:

unbind ^J main
tty
  • 1 respostas
  • 28 Views
Martin Hope
Eric Stdlib
Asked: 2023-09-15 23:13:00 +0800 CST

Como determinar o tty gráfico no loginctl

  • 5

Loginctl lista muitas sessões, e quero saber programaticamente qual delas é uma sessão gráfica (por exemplo, desktop GNOME).

No exemplo abaixo, tenho uma sessão de desktop GNome aberta, uma conexão ssh aberta e uma sessão de texto (getty) aberta.

$ loginctl
SESSION  UID USER SEAT  TTY  
      3 1000 user seat0 tty2
    237 1000 user       pts/2
    260 1000 user seat0 tty3

3 sessions listed.
$ 

Posso adivinhar que tty2 é a sessão do GNome, porque posso mudar para ela usando Ctrl+Alt+F2. tty3 é a sessão de texto (Ctrl+Alt+F3). pts/2 é a sessão ssh restante. No entanto, como um programa pode saber qual é qual?


Nota: não creio que as formas a seguir sejam soluções, porque não são rigorosas. O usuário provavelmente pode abrir um novo tty e executar /usr/libexec/gdm-x-session, o que enganará meu programa

Método 1: execute ps -aux | grep /usr/libexec/gdm-x-session, veja:

... tty2     Sl+  00:32   0:00 /usr/libexec/gdm-x-session

Método 2: Execute lsof /dev/tty2, veja:

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
gdm-x-ses 3271 user    0u   CHR    4,2      0t0   23 /dev/tty2
...
tty
  • 1 respostas
  • 10 Views
Martin Hope
Alex028502
Asked: 2023-04-18 20:38:27 +0800 CST

por que a configuração stty onlcr não adiciona um retorno de carro?

  • 5

TLDR - Configurei onlcrno meu terminal, mas não vejo o \rsendo adicionado


Se conectar dois conversores seriais FTDI juntos e conectá-los ao meu computador, recebo duas portas chamadas /dev/ttyUSB0e/dev/ttyUSB1

Se eu abrir os dois picocomem terminais diferentes, posso garantir que estão conectados, corretamente, enviando mensagens para frente e para trás, e se eu parar de usá- C-A C-Qlo, deixo as portas configuradas da seguinte forma:

$ stty -F /dev/ttyUSB0 -a
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc
-ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl
echoke -flusho -extproc
$ stty -F /dev/ttyUSB1 -a
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O;
min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

Agora se eu abrir dois terminais para ouvir as duas portas seriais:

$ cat -v /dev/ttyUSB0
$ cat -v /dev/ttyUSB1

(na verdade só vou precisar de um deles para este experimento específico, mas não custa nada ter os dois)

e então em um terceiro terminal, envie uma única linha como esta:

$ echo this is a test > /dev/ttyUSB1

e, em seguida, envie mais uma linha para provar que estou imprimindo retornos de carro:

$ echo -e 'this is another test\r' > /dev/ttyUSB1

então é isso que eu vejo:

$ cat -v /dev/ttyUSB0
this is a test
this is another test^M

Por que não vejo ^Ma linha 1 e ^M^Ma linha 2?

icrnlestá desligado em ambos os dispositivos, então não deveria ser convertido de volta, certo?

Por que isso está (ou não) acontecendo?

tty
  • 1 respostas
  • 14 Views
Martin Hope
nk2
Asked: 2022-10-08 05:53:36 +0800 CST

Dúvidas sobre tt

  • 0
  1. Por que existem tantos ttys? São necessários vários tty?
  2. Por que várias coisas estão espalhadas em diferentes ttys? Por exemplo, eu tenho os logs de runit em tty1, wm em tty7 e um cursor branco piscando no canto da tela em tty8. Por que não tudo em um tty?
  3. Por que o linux não os coloca em ordem - tty1: logs de runit, tty2: wm, etc.
  4. O que significa o cursor binking?
tty console
  • 1 respostas
  • 23 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve