<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Xterm Почему не каждый цветной терминальный вывод виден в Popen</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/10442.html</link>
    <description>Имеется процесс &#091;b&#093;xterm&#091;/b&#093;, который &quot;вставлен&quot; в Tk-окно:&lt;br&gt;&#091;code&#093;&lt;br&gt;class Terminal(tk.Frame):&lt;br&gt;&lt;br&gt;    def __init__(self, parent):&lt;br&gt;        ...&lt;br&gt;        # Получение tty с которым будет работать терминал (грубый хак)&lt;br&gt;        os.system(&apos;xterm -into &#037;d -geometry 160x50 -sb -e &quot;tty &amp;gt; /tmp/ttyinfo.txt&quot;&apos; &#037; self.wid)&lt;br&gt;        fp=open(&apos;/tmp/ttyinfo.txt&apos;, &apos;r&apos;)&lt;br&gt;        self.tty=fp.readline().strip();&lt;br&gt;        fp.close();&lt;br&gt;        print(&quot;tty info: &quot;+self.tty)&lt;br&gt;&lt;br&gt;        # Открытие терминала с bash. Перед запуском bash выводится рабочий tty&lt;br&gt;        os.system(&apos;xterm -into &apos;+str(self.wid)+&apos; -geometry 160x50 -sb -e &quot;tty ; bash -norc&quot; &amp;&apos;)&lt;br&gt;&#091;/code&#093;&lt;br&gt;Выполнение команд в этом xterm-терминале сделано двумя способами:&lt;br&gt;&lt;br&gt; * Через &#091;b&#093;os.system()&#091;/b&#093;.&lt;br&gt; * Через &#091;b&#093;Popen+communicate&#091;/b&#093;.&lt;br&gt;&lt;br&gt;Для теста я использую две команды, которые генерируют цветной вывод:&lt;br&gt;&#091;code&#093;&lt;br&gt;1. ip -color addr&lt;br&gt;2. ansible-playbook ourPlaybook.yml&lt;br&gt;&#091;/code&#093;&lt;br&gt;И вот какая проблема проявилась:&lt;br&gt;&lt;br&gt; * Способ запуска через &#091;b&#093;os.system()&#091;/b&#093; всегда работает правил</description>

<item>
    <title>Xterm Почему не каждый цветной терминальный вывод виден в Popen (Аноним)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/10442.html#3</link>
    <pubDate>Thu, 04 May 2023 15:03:56 GMT</pubDate>
    <description>запомнить шелл-алиас легче, чем писать программу, открывать топики в опеннете, бодаться с &quot;цветным терминальным выводом виден в Popen&quot;. И забивается не оперативная, а долгосрочная память, поброди по dotfiles-репозиториям на гитхабе и удивись тому, как люди используют довольно остроумные алиасы и функции на все случаи жизни. Моим самым продуктивным оказался&lt;br&gt;&lt;br&gt;    mdc() &#123;&lt;br&gt;      mkdir -p -- &quot;$1&quot; &amp;&amp; cd -- &quot;$1&quot;&lt;br&gt;    &#125;&lt;br&gt;&lt;br&gt;Алиасы/функции также подразумевают, что ты не выходишь из консоли, захотел - сделал &quot;a&quot; (ansible-playbook), а захотел - быстренько вызвал совершенно другую команду, не предусмотренную гуем, -- и все это без открытия нового окна.&lt;br&gt;</description>
</item>

<item>
    <title>Xterm Почему не каждый цветной терминальный вывод виден в Popen (Neon)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/10442.html#2</link>
    <pubDate>Thu, 04 May 2023 08:32:25 GMT</pubDate>
    <description>&amp;gt; Чем ты там занимаешься, чувак? почему вместо гуя с кнопками нельзя сделать &lt;br&gt;&amp;gt; шелл-алиасы?&lt;br&gt;&amp;gt;     alias a=&apos;ansible-playbook ourPlaybook.yml&apos; &lt;br&gt;&amp;gt; Все. Печатаешь &quot;a&quot; &#091;Enter&#093; -- и команда запустится. Не намного медленнее, чем &lt;br&gt;&amp;gt; тыкать на кнопки. Код ошибки последней команды можно показывать в PS1. &lt;br&gt;&amp;gt; Всяко гибче и удобнее.&lt;br&gt;&lt;br&gt;Шелл-алиасы ?))) Особенно для сторонних пользователей - классная идея.))) Да и для собственного использования так себе. Забивать оперативную память мозга всяким мусором. С кнопками с гуей не нужно запоминать где что зачем.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Xterm Почему не каждый цветной терминальный вывод виден в Popen (Аноним)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/10442.html#1</link>
    <pubDate>Wed, 26 Apr 2023 06:22:50 GMT</pubDate>
    <description>Чем ты там занимаешься, чувак? почему вместо гуя с кнопками нельзя сделать шелл-алиасы?&lt;br&gt;&lt;br&gt;    alias a=&apos;ansible-playbook ourPlaybook.yml&apos;&lt;br&gt;&lt;br&gt;Все. Печатаешь &quot;a&quot; &#091;Enter&#093; -- и команда запустится. Не намного медленнее, чем тыкать на кнопки. Код ошибки последней команды можно показывать в PS1. Всяко гибче и удобнее.&lt;br&gt;</description>
</item>

</channel>
</rss>
