Atalho de teclado

1

Muitas vezes preciso alterar um endereço MAC no meu trabalho, então gostaria de fazer dois atalhos de teclado:

  1. Quando eu pressiono um terminal de atalho abre com o comando colado

    sudo ifconfig eth0 down && sudo ifconfig eth0 hw ether (xx:xx:xx:xx:xx:xx) && sudo ifconfig eth0 up 
    

    Preciso que o cursor apareça no meio do comando onde eu poderia escrever o MAC. (ou oferecer outro comando)

  2. No atalho, pressione e cole automaticamente do endereço MAC do cliboard ao comando acima e execute.

por Kvach 26.01.2016 / 12:53

1 resposta

0

O objetivo:

Você quer um modificador MAC que você pode chamar usando um atalho de teclado e alimentá-lo com um MAC? Também deve ser capaz de lê-lo da área de transferência?

Aqui está o que você quer:

Preparação:

Paraacessaraáreadetransferência,precisamosdexsel.Instale-ocomocomando

sudo apt-get install xsel

Os scripts:

Precisamos fazer quatro pequenos scripts de shell para fazer seu trabalho.
Crie os seguintes arquivos em /usr/local/bin usando seu editor de texto simples favorito. Você precisará de privilégios sudo / root para salvá-los no local desejado.

  • get-mac :

    #! /bin/bash
    ip addr show eth0 | awk '/ether/{print $2}'
    
  • get-mac-dialog :

    #! /bin/bash
    zenity --info --title "MAC Changer" --text "Current MAC address: $(get-mac)" 2>/dev/null
    
  • change-mac :

    #! /bin/bash
    ifconfig eth0 down &&
    ifconfig eth0 hw ether "$@" || exit 1
    ifconfig eth0 up
    
  • change-mac-dialog :

    #! /bin/bash
    oldmac=$(get-mac)
    newmac=$(zenity --entry --title "MAC Changer" --text "New MAC address:" --entry-text $oldmac 2>/dev/null) &&
    gksudo change-mac $newmac || zenity --error --title "MAC Changer" --text "Failed to change MAC address"
    
  • paste-mac :

    #! /bin/bash
    gksudo change-mac $(xsel -ob)
    

Se a sua interface de rede tiver outro nome que não seja eth0 , você deve substituir todas as 4 ocorrências dele nos scripts pelo nome real!

Agora defina as propriedades e permissões corretas:

chmod 755 /usr/local/bin/get-mac /usr/local/bin/get-mac-dialog /usr/local/bin/change-mac /usr/local/bin/change-mac-dialog /usr/local/bin/paste-mac
sudo chown root: /usr/local/bin/get-mac /usr/local/bin/get-mac-dialog /usr/local/bin/change-mac /usr/local/bin/change-mac-dialog /usr/local/bin/paste-mac 

Resumo de uso:

  • get-mac :

    Basta imprimir o endereço MAC atual de eth0 no terminal.

  • get-mac-dialog :

    Mostre uma pequena janela de diálogo exibindo o endereço MAC atual de eth0 .

  • change-mac :

    Tente alterar diretamente o endereço MAC de eth0 . Ele desconectará e reconectará a interface para fazer isso. Você deve executar isso como root!

    Exemplo: sudo change-mac 12:34:56:78:9a:bc

  • change-mac-dialog :

    Mostre um pequeno prompt da GUI solicitando que você digite o novo endereço MAC (o texto padrão é o MAC atual). Você será solicitado a fornecer uma senha sudo usando a GUI gksudo .

  • paste-mac :

    Chame gksudo change-mac com o conteúdo atual da área de transferência como argumento. Você será solicitado a fornecer uma senha sudo usando a GUI gksudo .

Atalhos:

Suponho que você possa criar atalhos personalizados para scripts, caso contrário, consulte aqui .

Note que você provavelmente não deve criar um atalho para change-mac (precisa ser executado como root e precisa de um MAC como argumento) ou get-mac (imprime a saída para o terminal). Use change-mac-dialog e get-mac-dialog como substituição de GUI para eles. paste-mac não precisa de nenhuma entrada nem cria saída, então você pode fazer um atalho para isso sem nenhum problema.

    
por Byte Commander 26.01.2016 / 17:13