<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Ledso Tips</title>
    <link>https://www.talesmd.tech/ledso/</link>
    <description>Tips and tutorials for the GNU/Linux people.</description>
    <pubDate>Thu, 18 Jun 2026 17:53:28 +0000</pubDate>
    <item>
      <title>Turning the inside out</title>
      <link>https://www.talesmd.tech/ledso/turning-the-inside-out</link>
      <description>&lt;![CDATA[sudo localectl set-locale LANG=en_US.UTF-8&#xA;&#xA;For now on, according with all these toots on Mastodon, or the complete lack of support of brazilian &#34;friends&#34; and even the fediverse people who followed me on there, i&#39;ve given up trying to creating portuguese content.&#xA;&#xA;For now on, i will be focused on publishing all my texts for the entire world and my friends will be the ones who interact with this and all the future content published on TalesMd.Tech; Mastodon; Loops; or BlueSky.&#xA;&#xA;For the ones who still think can have myself as if i was your friend and do not help me on sharing or liking or commenting to my posts, videos or whatelse i publish, i&#39;m  so sorry, but for you specifically, i will always be that colleague who will respect you as a human being and nothing else. Don&#39;t expect any help or support for me.&#xA;&#xA;We live on a network connected society. If you don&#39;t want to help me on internet, then i won&#39;t help you too.&#xA;&#xA;by span style=&#34;color: #00A9FF&#34;ta/spanspan style=&#34;color: #FF00A9&#34;les/span]]&gt;</description>
      <content:encoded><![CDATA[<pre><code>sudo localectl set-locale LANG=en_US.UTF-8
</code></pre>

<p>For now on, according with all these toots on <a href="https://mastodon.social/@talesmd/116726813372007462" rel="nofollow">Mastodon</a>, or the complete lack of support of brazilian “friends” and even the fediverse people who followed me on there, i&#39;ve given up trying to creating portuguese content.</p>

<p>For now on, i will be focused on publishing all my texts for the entire world and my friends will be the ones who interact with this and all the future content published on TalesMd.Tech; Mastodon; Loops; or BlueSky.</p>

<p>For the ones who still think can have myself as if i was your friend and do not help me on sharing or liking or commenting to my posts, videos or whatelse i publish, i&#39;m  so sorry, but for you specifically, i will always be that colleague who will respect you as a human being and nothing else. Don&#39;t expect any help or support for me.</p>

<p>We live on a network connected society. If you don&#39;t want to help me on internet, then i won&#39;t help you too.</p>

<p>by <a href="/about" rel="nofollow"><span style="color: #00A9FF">ta</span><span style="color: #FF00A9">les</span></a></p>
]]></content:encoded>
      <guid>https://www.talesmd.tech/ledso/turning-the-inside-out</guid>
      <pubDate>Wed, 10 Jun 2026 17:35:40 +0000</pubDate>
    </item>
    <item>
      <title>Desinstalando apps obrigatórios do Android através do ADB</title>
      <link>https://www.talesmd.tech/ledso/desinstalando-apps-obrigatorios-do-android-atraves-do-adb</link>
      <description>&lt;![CDATA[Importante!&#xA;&#xA;Para começo de conversa, este tutorial NÃO COBRE a instalação do ADB e a ativação do Modo Depuração para que seja possível rodar comandos ADB.&#xA;&#xA;Isso dito, vamos começar!&#xA;&#xA;Para desativar um app imposto, via ADB, no seu celular, o básico é o que se segue abaixo.&#xA;&#xA;1. Descubra a URI do aplicativo&#xA;&#xA;A URI de qualquer app é algo como com.google.android.aicore. Você pode pesquisar pela interface do sistema Android abrindo os detalhes de qualquer app (segure no ícone e selecione &#34;Informações do app&#34;) ou pesquisar à doida pelo próprio shell.&#xA;&#xA;Parada obrigatória!&#xA;&#xA;Você já entrou no shell? digite o comando abaixo no terminal:&#xA;&#xA;  adb shell&#xA;&#xA;Autorize do seu celular a conexão com o PC e logo aparecerá algo como:&#xA;&#xA;  rosemary:/ $ # o rosemary aí pode ser qualquer outra coisa&#xA;&#xA;Esta já é a linha de comandos do ADB.&#xA;&#xA;Retornando...&#xA;&#xA;Busque pelo pacote loucamente através do comando da Polícia Militar (sim, isso é uma piada idiota), inserindo:&#xA;&#xA;  pm list packages&#xA;&#xA;Vai aparecer uma lista de todos os pacotes Android parecida mais ou menos com isto:&#xA;package:com.exemplo1.app1&#xA;package:com.exemplo1.app2&#xA;&#xA;É pra copiar apenas a parte depois do &#34;package:&#34; quando você identificar que tal URI corresponde ao app.&#xA;&#xA;2. Desinstale o pacote para o seu usuário&#xA;&#xA;Sabendo a URI do aplicativo, é bem fácil desativar, basta copiar toda a URI SEM A PARTE que a precede (&#34;package:&#34;) e no comando exemplar abaixo troque o argumento URIDOAPP pela cola da sua Área de transferência:&#xA;&#xA;  pm uninstall \-\-user 0 URI\DO\APP&#xA;&#xA;Se fosse do AI Core, ficaria assim:&#xA;&#xA;  pm uninstall \-\-user 0 com.google.android.aicore&#xA;&#xA;É relativam. simples. Se retornar &#34;Success&#34;, você já pode sair do shell com exit; desconectar o cabo USB e desativar o Modo Desenvolvedor.&#xA;&#xA;Mas se não...&#xA;&#xA;- Tales, deu falha no último comando da PM, o que eu faço??&#xA;&#xA;Aí você vai ter que pesquisar mais a fundo. É possível que não dê certo seja porque o seu &#34;usuário&#34; Android não é o usuário correspondente ao código 0 (zero. Lembra do trecho --user 0?); ou porque existe algum bloqueio raro no seu celular/tablet.&#xA;&#xA;Para o caso do erro relativo ao código de usuário, você pode tentar identificá-lo usando um gerenciador de arquivos como o Material Files, vendo o endereço completo de uma pasta comum (ex.: /storage/emulated/1234) para qualquer arquivo/pasta, bastando acessar as propriedades do mesmo.&#xA;&#xA;Normalmente o 1234 acima se refere ao código do usuário Android. Então é só substituir no comando exemplar:&#xA;&#xA;  pm uninstall \-\-user 1234 URI\DO\APP&#xA;&#xA;Referências&#xA;&#xA;Usei como base esta discussão no fórum de Android do StackExchange.&#xA;&#xA;Você também pode ver por este tutorial como reinstalar um app desinstalado com esse comando.&#xA;&#xA;by span style=&#34;color: #00A9FF&#34;ta/spanspan style=&#34;color: #FF00A9&#34;les/span]]&gt;</description>
      <content:encoded><![CDATA[<h4 id="importante">Importante!</h4>

<p>Para começo de conversa, este tutorial NÃO COBRE a instalação do ADB e a ativação do Modo Depuração para que seja possível rodar comandos ADB.</p>

<p>Isso dito, vamos começar!</p>

<p>Para desativar um app imposto, via ADB, no seu celular, o básico é o que se segue abaixo.</p>

<h2 id="1-descubra-a-uri-do-aplicativo">1. Descubra a URI do aplicativo</h2>

<p>A URI de qualquer app é algo como <code>com.google.android.aicore</code>. Você pode pesquisar pela interface do sistema Android abrindo os detalhes de qualquer app (segure no ícone e selecione “Informações do app”) ou pesquisar à doida pelo próprio shell.</p>

<h4 id="parada-obrigatória">Parada obrigatória!</h4>

<p>Você já entrou no shell? digite o comando abaixo no terminal:</p>

<blockquote><p>adb shell</p></blockquote>

<p>Autorize do seu celular a conexão com o PC e logo aparecerá algo como:</p>

<blockquote><p>rosemary:/ $ # o rosemary aí pode ser qualquer outra coisa</p></blockquote>

<p>Esta já é a linha de comandos do ADB.</p>

<h4 id="retornando">Retornando...</h4>

<p>Busque pelo pacote loucamente através do comando da Polícia Militar (sim, isso é uma piada idiota), inserindo:</p>

<blockquote><p>pm list packages</p></blockquote>

<p>Vai aparecer uma lista de todos os pacotes Android parecida mais ou menos com isto:</p>

<pre><code>package:com.exemplo1.app1
package:com.exemplo1.app2
</code></pre>

<p>É pra copiar apenas a parte depois do “package:” quando você identificar que tal URI corresponde ao app.</p>

<h2 id="2-desinstale-o-pacote-para-o-seu-usuário">2. Desinstale o pacote para o seu usuário</h2>

<p>Sabendo a URI do aplicativo, é bem fácil desativar, basta copiar toda a URI SEM A PARTE que a precede (“package:“) e no comando exemplar abaixo troque o argumento <code>URI_DO_APP</code> pela cola da sua <em>Área de transferência</em>:</p>

<blockquote><p>pm uninstall --user 0 URI_DO_APP</p></blockquote>

<p>Se fosse do AI Core, ficaria assim:</p>

<blockquote><p>pm uninstall --user 0 com.google.android.aicore</p></blockquote>

<p>É relativam. simples. Se retornar “Success”, você já pode sair do shell com exit; desconectar o cabo USB e desativar o Modo Desenvolvedor.</p>

<p>Mas se não...</p>

<h4 id="tales-deu-falha-no-último-comando-da-pm-o-que-eu-faço">– Tales, deu falha no último comando da PM, o que eu faço??</h4>

<p>Aí você vai ter que pesquisar mais a fundo. É possível que não dê certo seja porque o seu “usuário” Android não é o usuário correspondente ao código 0 (zero. Lembra do trecho <code>--user 0</code>?); ou porque existe algum bloqueio raro no seu celular/tablet.</p>

<p>Para o caso do erro relativo ao código de usuário, você pode tentar identificá-lo usando um gerenciador de arquivos como o Material Files, vendo o endereço completo de uma pasta comum (ex.: <code>/storage/emulated/1234</code>) para qualquer arquivo/pasta, bastando acessar as propriedades do mesmo.</p>

<p>Normalmente o <em>1234</em> acima se refere ao código do usuário Android. Então é só substituir no comando exemplar:</p>

<blockquote><p>pm uninstall --user 1234 URI_DO_APP</p></blockquote>

<h2 id="referências">Referências</h2>

<p>Usei como base esta discussão no fórum de Android do <a href="https://android.stackexchange.com/questions/56620/enable-and-disable-system-apps-via-adb" rel="nofollow">StackExchange</a>.</p>

<p>Você também pode ver por este tutorial como reinstalar um app desinstalado com esse comando.</p>

<p>by <a href="/about" rel="nofollow"><span style="color: #00A9FF">ta</span><span style="color: #FF00A9">les</span></a></p>
]]></content:encoded>
      <guid>https://www.talesmd.tech/ledso/desinstalando-apps-obrigatorios-do-android-atraves-do-adb</guid>
      <pubDate>Tue, 09 Jun 2026 18:40:15 +0000</pubDate>
    </item>
  </channel>
</rss>