Estou usando o Ubuntu 22.04. Tenho uma pasta GUI que contém subpastas e arquivos (texto, csv, rar etc). O aplicativo GUI só consegue modificar os arquivos. Apenas usuários administradores podem excluir os arquivos. Usuários normais não podem modificar nenhum arquivo e não podem excluir as pastas ou arquivos da pasta GUI. Como dar essa permissão específica para a pasta GUI e o executável GUI?
atualmente o topo top
parece mais ou menos assim:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
160932 username 20 0 236684 222504 6912 R 99,3 0,7 58:14.16 python3
6353 username 20 0 633904 523992 6656 R 99,0 1,6 13,39 python3
18092 username 20 0 393320 369180 11264 R 39,4 1,1 154:58.37 python3
149778 username 20 0 3975792 800884 301444 S 14,6 2,4 18:42.82 firefox
168196 username 20 0 2544432 181284 112904 S 7,0 0,6 0:08.15 Isolated Web Co
2065 root 20 0 1547428 353628 258444 S 3,3 1,1 63:27.48 Xorg
3103 mateusz 20 0 1206696 104704 39056 S 0,7 0,3 1:19.68 lxqt-panel
53 root -51 0 0 0 0 S 0,3 0,0 7:51.72 irq/9-acpi
834 root -51 0 0 0 0 S 0,3 0,0 9:44.32 irq/147-iwlwifi
1410 root 20 0 427404 4992 3968 S 0,3 0,0 3:00.38 thermald
Eu sei que posso usar ps -fA | grep python
o Python para distinguir processos e usá-lo ps -fA | grep 160932
para encontrar um dos principais processos que consomem meus recursos.
Mas como posso exibi-lo diretamente em top
? Ou como posso obter top
-equivalente suportando isso, de preferência alguma ferramenta relativamente padrão?
Quero desabilitar o bloqueio automático de tela no Ubuntu 24.04.
No meu caso, é irritante e inútil, pois é uma VM.
Quero fazer isso pela CLI, pois espero executá-lo para cada VM Ubuntu que não seja headless.
Eu tenho uma estrutura de arquivo semelhante a esta
.
├── streaming
│ └── streaming - Copy
├── hw1
│ ├── concurrent-downloads
│ ├── cpu_multiprocessing.py
│ ├── cpu_synchronous.py
│ ├── cpu_threading.py
│ ├── io_asyncio.py
│ ├── io_multiprocessing.py
│ ├── io_synchronous.py
│ ├── io_threading.py
│ └── soluciones
└── hw2
└── iteradores.ipynb
Quando executo algum comando como ls cpu*
o do diretório de trabalho, recebo:
ls: cannot access 'cpu*': No such file or directory
(também, um comando como ls [c]*
mostra a mesma saída). Claro, quando eu o executo depois, cd hw1
mas para certos curingas como ls [[:lower:]
ele mostra uma saída de 2 níveis de recursão:
`streaming:
'streaming - Copy'
hw1:
concurrent-downloads cpu_synchronous.py io_asyncio.py io_synchronous.py soluciones
cpu_multiprocessing.py cpu_threading.py io_multiprocessing.py io_threading.py
hw2:
iteradores.ipynb`
Então eu baixei o .deb do virtualbox para ubuntu 24.04 e durante a instalação ele pediu para configurar uma senha para inicialização uefi algo e eu mudo matei o terminal. Depois disso eu tentei desinstalar e limpar a instalação novamente então eu desbloqueei o dpkg
e então sudo rm -rf
os diretórios relacionados. Agora which virtualbox
não dá saída mas dpkg -l | grep -i virtualbox
mostra alguns arquivos virtualbox-7.1 e oracle virtual box, também está na minha lista de apps e quando eu tento procurar por sessões vm ativas, um loop de aviso aparece. Eu tento remover estes mas não consigo remover o virtualbox-7.1 porque ele ainda está rodando em segundo plano.
OK, estou batendo a cabeça contra isso há duas horas e tentando não ter que postar como uma pergunta, mas desisto. Migrei hoje para uma nova instalação do Ubuntu 24.04 e não consigo fazer meus arquivos FaveProgram.desktop funcionarem. Esses são arquivos que definem ícones do iniciador de GUI para executar um comando CLI específico (por exemplo, "faveprogram -option attribute"), e eu pesquisei e tentei e pesquisei e hackeei e testei e aaaarrrrgghh...
Quando eu "executo" o ícone, ele sempre abre o editor de texto padrão. Aqui está o que eu tentei:
- clique com o botão direito -> Executar como programa
- clique com o botão direito -> Abrir com -> Executar software
- definido como executável graficamente na GUI
- definido como executável manualmente com chmod (confirmado)
- gio set FaveProgram.desktop metadata::trusted {sim verdadeiro VERDADEIRO} (tentei todos)
- nota: "Permitir iniciar" NÃO está disponível no menu do botão direito!
- começando do zero com o novo arquivo .desktop
Eu assisti /var/log/syslog e ele diz algo sobre um problema de spawn VTE. Isso pode ser uma pista falsa, mas estou mencionando caso alguém tenha uma dica sobre o próximo passo.
Comecei a tentar pesquisar sobre o xdg-mime, mas não entendi.
Aqui está o conteúdo do arquivo .desktop que estou tentando executar:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true <-- normally false, tried true anyway
Exec=/usr/bin/program -option value <-- yes it exists, can run manually
Name=FaveProgram
Comment=FaveProgram
Icon=/valid/path/to/icon.png
EDIT: Achei o link "editar" aqui, não estava visível antes. Adicionando mais algumas coisas:
- obrigado ao administrador @mook765 por editar rapidamente esta questão para formatar meu código
- Eu tentei remover o xdg-open, sem melhora
- Anteriormente, eu estava executando esses ícones de pastas arbitrárias, via Nautilus / Arquivos / gerenciador de arquivos, não de menus da GUI; em relação a uma pasta de aplicativo XDG, qual devo tentar?
- obrigado @david; Eu tentei o primeiro método sugerido naquele tópico e não funcionou, passarei para os outros em breve
Caso os erros do VTE no syslog causem problemas, aqui está a sequência de erros que recebo quando tento "executar como programa":
- 2025-03-06T15:58:58.273700-05:00 shuttle4 systemd[1379]: vte-spawn-8a9d9df0-2262-4e79-b9be-15b00bcdf6b5.scope: PID 48562 desapareceu antes que pudéssemos movê-lo para o cgroup de destino '/user.slice/user-1000.slice/ [email protected] /app.slice/app-org.gnome.Terminal.slice/vte-spawn-8a9d9df0-2262-4e79-b9be-15b00bcdf6b5.scope', ignorando: Esse processo não existe
- 2025-03-06T15:58:58.273830-05:00 .... Nenhum PID restante para anexar ao grupo de controle do escopo, recusando
- (mais duas linhas, caracteres limitados)
Com base no script abaixo:
EmpID:Name:Designation:UnitName:Location:DateofJoining:Salary
1001:Thomson:SE:IVS:Mumbai:10-Feb-1999:60000
1002:Johnson:TE::Bangalore:18-Jun-2000:50000
1003:Jackson:DM:IMS:Hyderabad:23-Apr-1985:90000
1004:BobGL::ETA:Mumbai:05-Jan-2004:55000
1005:Alice:PA:::26-Aug-2014:25000
1006:LilySE::IVS:Bangalore:17-Dec-2015:40000
1007:Kirsten:PM:IMS:Mumbai:26-Aug-2014:45000
1004:BobGL::ETA:Mumbai:05-Jan-2021:55000
Estou tentando obter os caracteres do campo 4 (UnitName) que começa com S. Estou tentando este código, mas nada acontece:
cat file.txt | sort -t ':' -rk4 | grep -i '^S[A-Za-z]\+s\b'
Preciso de ajuda. Por favor, me avise se o script acima estiver errado. Obrigado, muito apreciado
O padrão Unicode define pontos de código e nomes de letras dos sistemas de escrita do mundo. Existe um programa de linha de comando no Ubuntu (Linux) para imprimir letras por seus nomes (difusos) ?
Aqui está o que eu espero de um programa desse tipo (chamado pucc
: Imprimir caractere Unicode — imprime o caractere Unicode dado seu nome ou regex):
$> pucc sigma
ͻ = 037B (greek small reversed lunate *sigma* symbol)
ͼ = 037C (greek small dotted lunate *sigma* symbol)
ͽ = 037D (greek small reversed dotted lunate *sigma* symbol)
Σ = 03A3 (greek capital letter *sigma*)
ς = 03C2 (greek small letter final *sigma*)
σ = 03C3 (greek small letter *sigma*)
...
$> pucc root
؆ = 0606 (arabic-indic cube *root*)
؇ = 0607 (arabic-indic fourth *root*)
√ = 221A (square root)
∛ = 221B (cube *root*)
∜ = 221C (fourth *root*)
...
Entendo que é apenas curl/grep
um ping do arquivo de texto Unicode mantido pelo Unicode Consortium e a saída depende da disponibilidade das fontes Unicode no sistema, mas só queria saber se isso já estava disponível como um comando ou se era possível usar o filtro mágico.
Eu instalei o Linux em fevereiro. Agora, quando listei o diretório home com ls -la
, por que o tempo está sendo mostrado assim:
drwx------ 20 chuck_user chuck_user 4096 Jul 5 2024 .
Por que o horário é Jul 5 2024
, e por que ele é diferente de outras datas?
A pergunta é diferente de O que 'ls -la' faz?
porque lá ela só perguntou sobre o que faz ls -la
. Mas eu quero saber o motivo pelo qual o timestamp do .
diretório não corresponde ao horário em que instalei o Linux. O timestamp é Jul 4 2024
ainda que eu tenha instalado em fevereiro de 2025.
Executei o comando man junto com o sinalizador -d --debug e obtive a seguinte saída: então o que cada linha significa? Porque não sei nada do que se segue.
ruid=1000, euid=1000 rgid=1000, egid=1000 e não forneço a saída completa porque seria muito difícil de ler. Alguém poderia tentar o comando man junto com o sinalizador -d ou --debug e me dar o resultado das linhas importantes que essas linhas significam?