enviando entrada para uma sessão de tela de fora
<p>meu cenário é este:</p><p>tenho uma sessão de tela em execução em um local remoto. dentro desta tela está um programa baseado em consolação. quando executado sem tela, este programa inicia no terminal e aceita comandos em sua entrada padrão.</p><p>o que eu quero é uma forma de enviar remotamente um comando para a tela para que esse comando seja recebido pelo programa de console. talvez assim:</p><p>meu pc -&gt; ssh send msg auto -&gt; screen session -&gt; program (run command recebido)</p><p>portanto, de um pc remoto, posso enviar comandos ssh para a tela que os envia para o programa. o programa os aceita e os executa.</p>
<p>se bem entendi, você deseja enviar dados para um programa em execução dentro de uma sessão de tela. você pode fazer isso com o comando <code>stuff</code> da tela. use a tela <code>-x</code> opção para executar um comando em uma sessão de tela sem anexar a ela.</p><pre><code>screen -s sessionname -p windowname -x stuff 'command1 command2 ' </code></pre><p>se você quiser ver a saída do programa, consulte os comandos <code>hardcopy</code>, <code>log</code> e <code>logfile</code>.</p>
<p>enviar uma nova linha <code>\n</code> executará o comando. <code>.end()</code> sairá do shell.</p><p>modifiquei o exemplo para trabalhar com o bash enquanto estou no osx.</p><pre><code>var terminal = require('child\_process').spawn('bash'); terminal.stdout.on('data', function (data) { console.log('stdout: ' + data); }); terminal.on('exit', function (code) { console.log('child process exited with code ' + code); }); settimeout(function() { console.log('sending stdin to terminal'); terminal.stdin.write('echo "hello $user. your machine runs since:"\n'); terminal.stdin.write('uptime\n'); console.log('ending terminal session'); terminal.stdin.end(); }, 1000); </code></pre><p>a saída será:</p><pre><code>sending stdin to terminal ending terminal session stdout: hello root. your machine runs since: stdout: 9:47 up 50 mins, 2 users, load averages: 1.75 1.58 1.42 child process exited with code 0 </code></pre> acredito que ele esteja falando o seguinte, o ssh é um protocolo de rede que serve para “acessar” de forma “segura” uma maquina.

porém existe o ssh- client e ssh-sever, no caso ele disse para instalar o ssh-server, que tem como função “servir” um acesso ssh (e não vem instalado por padrão).

já o s… <ul> <li>command + shift + 3 tira uma foto da tela inteira;</li> <li>command + shift + 4 tira uma foto de uma parte da tela;</li> <li>command + shift + 4 e, em seguida, barra de espaço, permite tirar uma foto de um elemento específico da tela (uma janela, dock, barra de menus, etc.)</li> </ul><p>se você deseja colocar a captura de tela na área de transferência (em vez de criar um arquivo de imagem), mantenha o controle pressionado enquanto pressiona a combinação de teclas.</p> <p>nos arquivos de perfil do shell de login, você pode configurar algumas coisas que você usará durante a sessão e que precisam ser feitas apenas uma vez. algumas ideias:</p><ul> <li>crie um arquivo temporário contendo o endereço ip do qual você se conectou; posteriormente, você pode incluí-lo em alguns scripts que definem regras de firewall.</li> <li>execute ssh-agent, solicite suas chaves ssh e armazene as variáveis ​​de ambiente do agente ssh em um arquivo.</li> <li>se essa é uma máquina limitada e seus colegas de trabalho desejam conhecer os logins uns dos outros, escreva (1) mensagens informando sobre seu login.</li> </ul><p>nos arquivos do shell que não são de login (<code>.bashrc</code>) você deve configurar seu shell:</p><ul> <li>prompt extravagante</li> <li>definir aliases</li> <li>definir opções de histórico</li> <li>definir funções personalizadas do shell</li> <li>exportar variáveis ​​de ambiente (talvez pager, editor se as configurações do sistema forem ruins)</li> <li>carregar variáveis ​​ssh-agent salvas em <code>.bash\_profile</code></li> </ul><p>normalmente, você incluiria <code>.bashrc</code> de <code>.bash\_profile</code> com o seguinte. em seguida, faça login no shell recebe todas as suas personalizações e <code>.bash\_profile</code> o arquivo não precisa duplicar coisas que já estão em <code>.bashrc</code>.</p><pre><code>[[ -f ~/.bashrc ]] &amp;&amp; . ~/.bashrc </code></pre> <p>agradeço o help. consegui a seguinte solução: comunicação entre ipcrenderer e ipcmain através dos métodos send() e on(). </p>
<pre class="prettyprint"><code>botaostart.addeventlistener(&#39;click&#39;, () &#61;&gt; {
 ipcrenderer.send(&#39;start-tela&#39;);
});</code></pre><p>uma vez realizada a comunicação, utilizei o método: browserwindow.webcontents.send() enviando um evento para todas as telas interessadas.</p>
<pre class="prettyprint"><code>ipcmain.on(&#39;start-tela&#39;, () &#61;&gt; {
 controlwindow.webcontents.send(&#39;start&#39;);
 mainwindow.webcontents.send(&#39;start&#39;);
});</code></pre> <p>a maneira mais fácil de fazer isso é iniciar o powershell com tokens de administração. para fazer isso, clique com o botão direito do mouse em powershell (ou um atalho para ele) e clique em "executar como administrador". como alternativa, você pode usar <a href="http://4sysops.com/archives/script-elevation-powertoys-how-to-elevate-on-the-command-prompt-and-launch-powershell-from-a-windows-explorer-context-menu-in-vista/">elevate.cmd</a> .</p> <p>uma que funciona bem é usar cores de fundo diferentes no seu shell para servidores de produção/teste/teste.</p> [imagem]

[como projetar a imagem do pc na smart tv através do wi-fi no linux?](https://plus.diolinux.com.br/t/como-projetar-a-imagem-do-pc-na-smart-tv-atraves-do-wi-fi-no-linux/4824/21) [linux](/c/linux/7)

infelizmente não tenho smart-tv para fazer os testes, mas está em desenvolvimento um programa próprio para isto, que talvez futuramente f faça parte dos pacotes básicos do gnome, no momento … <p>eu deveria ter escrito isso antes, mas não importa.</p><p>meu problema tinha uma "pegadinha" especial que eu precisava para poder proxyear classes e não interfaces.</p><p>existem duas soluções para isso:</p><ol> <li> <p> <a href="http://msdn.microsoft.com/en-us/library/system.runtime.remoting.proxies.realproxy%28v=vs.80%29.aspx">proxy real</a> e amigos, basicamente significa usar o .net remoting. requer um para herdar de contextboundobject.</p> </li> <li> <p>construindo um proxy usando <a href="http://msdn.microsoft.com/en-us/library/system.reflection.emit.aspx">system.reflection.emit</a> , como feito por <a href="http://www.springframework.net/doc-latest/reference/html/aop.html#aop-introduction-proxies">spring</a> , você também pode ver o código de seus <a href="http://www.springframework.net/doc-latest/reference/html/aop.html#aop-proxyfactoryobject">proxyfactoryobject</a> . aqui estão <a href="http://dcooney.com/viewentry.aspx?id=422">outro</a> três <a href="http://www.codeproject.com/kb/architecture/aop\_injection\_il.aspx">artigos</a> no <a href="http://weblogs.asp.net/seanmcalinden/archive/2010/03/18/creating-a-dynamic-proxy-generator-part-1-creating-the-assembly-builder-module-builder-and-caching-mechanism.aspx">assunto</a> .</p> </li> </ol><p>a propósito, a segunda abordagem tem uma limitação considerável, você não pode usar proxy de métodos não virtuais.</p> <p>é possível com o powershell, mas afeta apenas as caixas de correio atuais. as caixas de correio futuras não terão esse acesso. o que você pode fazer é apenas fazer um agendamento do windows e executar o comando powershell para ele.</p><p>outra opção é usar a ferramenta <a href="http://www.amset.info/downloads/setperm.zip">setperm</a> que editou as permissões na caixa de correio padrão. este tem o avanço de ser para todas as futuras caixas de correio.</p>