Xmgrace no Mac OS X El Capitan e Sierra

Prefácio


Olá. Este tutorial tem o objetivo de auxiliar e guiar na instalação do software Xmgrace no sistema operacional Mac OS X El Capitan (10.11.1).*

O xmgrace é uma ferramenta de criação de gráficos/histogramas 2D para o Sistema X Windows e M*tif de ambientes UNIX/OS X (também é portável para ambientes Windows).

Neste tutorial, vamos explicar quais e porque são necessárias algumas mudanças no OS X (devido à nova versão).


*UPDATE: com o lançamento do Mac OS X Sierra (10.12), foi feita uma atualização neste tutorial.


ALERTA: o autor não se responsabiliza por eventuais danos causados à sua máquina. Faça por sua conta e risco.


Introdução


Devido ao crescimento do número de malwares detectados para OS X (nada comparado ainda ao Windows), o novo sistema operacional da Apple trouxe novidades no sistema de segurança. Uma dessas novidades é o chamado System Integrity Protection (SIP), que torna muito mais difícil para softwares mal-intencionados de realizar modificações em arquivos críticos do sistema operacional.

Essencialmente, o que o SIP faz é diminuir os "poderes" do root, o Administrador do sistema. A kernel do sistema determina agora o que o root "pode" ou "não pode" fazer. E dentre a lista de coisas que o root não pode mais fazer é criar/modificar/excluir qualquer coisa nesses ambientes:
  • /System
  • /bin
  • /usr
  • /sbin
Ao tentar modificar algo em algum desses locais (mesmo usando o comando sudo), o usuário recebe uma mensagem de "Operation not permitted".

*obs: O ambiente /usr/local/ continua acessível para apps devido ao seu histórico de uso para arquivos temporários.
**obs2: Para uma lista completa de ambientes ~imutáveis~, acesse em seu Mac: /System/Library/Sandbox/rootless.conf

Outra modificação feita pela Apple foi no "Disk Utility". Ele agora foi remodelado e não realiza mais o reparo de permissões. Essa função pertence ao SIP agora.

E O QUE O XMGRACE TEM A VER COM ISSO?

O Xmgrace utiliza biblioteca do OpenMotif para realizar suas tarefas. Ao realizar upgrade para o 'El Capitan' e usar o xmgrace via Terminal, a seguinte mensagem é obtida:

Library not loaded: /usr/OpenMotif-2.1.32-22i/lib/libXm.3.dylib
A raiz do problema está justamente no local que o OpenMotif é instalado (e o xmgrace o procura): o /usr foi "limpo" e mesmo o root está impossibilitado de instalar o programa ou até criar um simples link via ln -s.

Das alternativas, pode-se tentar utilizar outro programa como o pro Fit, por exemplo; ou desabilitar o SIP e instalar o OpenMotif e o Xmgrace. Esse tutorial explica como realizar a segunda opção.

LEMBRE-SE: o SIP é uma ferramenta de segurança desenvolvida pela Apple. Apesar do autor do tutorial considerar uma medida extrema, não significa que ele recomende que você o faça. Faça apenas se você é um usuário avançado e por sua conta e risco.


Desabilitando o SIP


Não é possível desabilitar o SIP diretamente do OS X. Temos que entrar no Recovery Mode.
Para isso, reinicie o computador e pressione as teclas "Command" + 'R' até o símbolo da Apple aparecer na tela.

Quando o computador estiver no Recovery Mode, vá em Utilities e entre no Terminal:


Em seguida, verifique se o SIP está funcionando usando o comando:

csrutil status

A resposta provavelmente será: "System Integrity Protection is enable".
Para desabilitá-lo:

csrutil disable

*Se você se arrepender e quiser o SIP funcionando novamente use:
csrutil enable

Após desligar o SIP, reinicie seu Mac normalmente. Agora, o /usr pode ser modificado e podemos instalar o OpenMotif e o Xmgrace.


Instalação do OpenMotif e do Xmgrace


* Antes de tudo, verifique se você já tem a nova versão do Xcode. Se sim, não se esqueça de instalar os comandos via terminal usando:

xcode-select --install

* Tanto o OpenMotif quanto o Xmgrace utilizam o X11 para funcionar. Portanto, atualize o XQuartz.


Ou seja, instale o pacote do OpenMotif com apenas dois cliques. Ele criará a pasta /usr/OpenMotif-2.1.32-22i e demais subpastas, incluindo a biblioteca que precisamos.

Em seguida, baixe o Grace.app de acordo com a arquitetura do seu computador (no nosso caso, foi o Grace2014.zip) e arraste o arquivo .app para a pasta /Applications.

Agora, usando o Terminal modifique o seu .bash_profile ou .profile e adicione as seguintes linhas:

# Grace
export PATH=/Applications/Grace.app/Contents/Resources/grace/bin/:$PATH

Após atualizar o seu .profile (source ~/.profile), faça um teste e abra o xmgrace via terminal.

Update para o MacOSX Sierra - reinstalando o OpenMotif


Se você já tinha o El Capitan instalado e realizou o update para a nova versão do OSX (10.12), deve ter notado que a pasta do OpenMotif foi deletada novamente durante o procedimento de update (¬¬). Logo, o xmgrace irá reclamar da ausência da biblioteca libXm.3.dylib em:

/usr/OpenMotif-2.1.32-22i/lib/libXm.3.dylib


A solução mais simples é baixar novamente o OpenMotif e instalar no /usr. Se, por algum motivo, a instalação do .dmg acima falhar, outra solução é a seguinte:

Baixe essa outra versão do OpenMotif: https://sourceforge.net/projects/openmotif-mac/
Ou no link:
Download file "OpenMotif-Mac-10.5-2.1.dmg.zip"

Essa versão já contém os arquivos e bibliotecas necessários para o funcionamento do programa. Extraia a pasta e a mova para um diretório (no nosso caso, movemos para o diretório /opt):

sudo mv OpenMotif21 /opt/

Em seguida, criamos as pastas OpenMotif-2.1.32-22i/lib/ em /usr/ e criamos um link para a biblioteca que o xmgrace procura:

cd /usr/
sudo mkdir -p OpenMotif-2.1.32-22i/lib/
cd OpenMotif-2.1.32-22i/lib
ln -s /opt/OpenMotif21/lib/libXm.3.dylib .

Feito isso, o xmgrace deve funcionar normalmente a partir do Terminal.


Terceira opção: via Macports


Se você fez uma instalação "do zero" do macOS Sierra ou por algum outro motivo a instalação do Grace não funcionar e o seguinte erro aparecer:

Warning: locale not supported by Xlib, locale set to C
Warning: Widget must be a VendorShell.
Error: attempt to add non-widget child "dsm" to parent "xmgrace" which supports only widgets

Há uma terceira opção para instalar o Xmgrace. Primeiro, vamos instalar o suite Macports Project, que é um projeto colaborativo para compilar, instalar e realizar upgrades em sistemas macOS baseado no modo similar ao realizado em muitos Linux (Ubuntu, Fedora, etc.). Para instalar o Macports, é necessário que o usuário tenha em sua máquina o XCode mais recente instalado (App Store: https://itunes.apple.com/br/app/xcode/id497799835?mt=12) e o Xcode Command Line Tools.

A página do Macports ensina como fazer esses passos e instalar o programa (pacote binário): https://www.macports.org/install.php

Após instalar o Macports, atualize o .bash_profile e o próprio Macports:

sudo port -v selfupdate

Atualize também o xorg-libXt, necessário para instalação do OpenMotif:

sudo port upgrade --enforce-variants xorg-libXt +flat_namespace

Em seguida, instale o OpenMotif:

sudo port install openmotif

E, por fim, o Xmgrace:

sudo port install grace

O comando xmgrace no Terminal deve funcionar normalmente.



Mais informações


Mais uma vez, lembramos que esse tutorial é um guia para usuários que precisam do Xmgrace e possuem cuidado e experiência em administração (root) de ambientes UNIX/OS X.

Mais informações sobre o SIP e outras atualizações de segurança da Apple podem ser encontradas em:


-- GCH

Comments

(unauthenticated)
Nov 8, 2016

Não funcionou pra mim

Warning: locale not supported by Xlib, locale set to C
Warning: XmManager ClassInitialize: XmeTraitSet failed

Error: attempt to add non-widget child "DropSiteManager" to parent "xmgrace" which supports only widgets

Biomat
Dec 30, 2016

Olá,

Tente repetir todos os passos da Terceira Opção.
Certifique-se de ter retirado o aplicativo Grace.app da pasta Applications e atualizado seu .bash_profile (ou .profile) antes de realizar essas etapas.

--GCH

Laura (unauthenticated)
Mar 28, 2017

Thanks SO much! The third option solved it for me. I was really desperate!

George (unauthenticated)
Apr 10, 2017

Thanks, the third option works!!!

/groups/geekstuff/search/index.rss?tag=hotlist/groups/geekstuff/search/?tag=hotWhat’s HotHotListHot!?tag=hot6/groups/geekstuff/sidebar/HotListbiomatBiomat2016-11-01 16:19:20+00:002016-11-01 16:19:20updated22added the Terceira opção sectionbiomatBiomat2016-11-01 16:19:07+00:002016-11-01 16:19:07updated21Added tag - xorgbiomatBiomat2016-11-01 16:18:54+00:002016-11-01 16:18:54addTag20Removed tag - sibiomatBiomat2016-11-01 16:18:46+00:002016-11-01 16:18:46removeTag19Added tag - sierrabiomatBiomat2016-11-01 16:18:41+00:002016-11-01 16:18:41addTag18Added tag - portbiomatBiomat2016-11-01 16:18:34+00:002016-11-01 16:18:34addTag17Added tag - macportsbiomatBiomat2016-11-01 16:18:31+00:002016-11-01 16:18:31addTag16biomatBiomat2016-10-06 21:05:20+00:002016-10-06 21:05:20updated15biomatBiomat2016-10-06 20:44:07+00:002016-10-06 20:44:07updated14added sierra updatebiomatBiomat2016-10-06 20:43:39+00:002016-10-06 20:43:39updated13Added tag - sibiomatBiomat2016-10-06 20:30:38+00:002016-10-06 20:30:38addTag12added xcode partbiomatBiomat2015-10-27 17:12:34+00:002015-10-27 17:12:34updated11Added tag - x11biomatBiomat2015-10-27 17:11:03+00:002015-10-27 17:11:03addTag10Added tag - xquartzbiomatBiomat2015-10-27 17:11:01+00:002015-10-27 17:11:01addTag9added xquartz partbiomatBiomat2015-10-27 17:10:50+00:002015-10-27 17:10:50updated8biomatBiomat2015-10-24 17:48:37+00:002015-10-24 17:48:37updated7Added tag - securitybiomatBiomat2015-10-24 16:35:37+00:002015-10-24 16:35:37addTag6Added tag - openmotifbiomatBiomat2015-10-24 16:35:34+00:002015-10-24 16:35:34addTag5Added tag - el capitanbiomatBiomat2015-10-24 16:35:30+00:002015-10-24 16:35:30addTag4Added tag - xmgracebiomatBiomat2015-10-24 16:35:21+00:002015-10-24 16:35:21addTag3Added tag - hotbiomatBiomat2015-10-24 16:35:13+00:002015-10-24 16:35:13addTag2First createdbiomatBiomat2015-10-24 16:34:04+00:002015-10-24 16:34:04created1wiki2016-11-01T16:19:20+00:00groups/geekstuff/wiki/be4a5FalseXmgrace no Mac OS X El Capitan e Sierra/groups/geekstuff/wiki/be4a5/Xmgrace_no_Mac_OS_X_El_Capitan_e_Sierra.htmlBiomat22 updatesXmgrace no Mac OS X El Capitan e Sierra Prefácio Olá. Este tutorial tem o objetivo de auxiliar e guiar na instalação do software Xmgrace no sistema operacional Mac OS X El Capit...Falsebiomat2016-11-01T16:19:20+00:00biomatBiomat2016-08-24 18:35:48+00:002016-08-24 18:35:48updated10Added tag - printerbiomatBiomat2016-08-24 18:11:40+00:002016-08-24 18:11:40addTag9biomatBiomat2016-08-24 18:11:40+00:002016-08-24 18:11:40updated8Added tag - twain sanebiomatBiomat2016-08-24 18:11:34+00:002016-08-24 18:11:34addTag7Added tag - osx mavericksbiomatBiomat2016-08-24 18:11:28+00:002016-08-24 18:11:28addTag6Added tag - hp laserjetbiomatBiomat2016-08-24 18:11:20+00:002016-08-24 18:11:20addTag5Added tag - scannerbiomatBiomat2016-08-24 18:11:12+00:002016-08-24 18:11:12addTag4Added tag - hotbiomatBiomat2016-08-24 18:11:04+00:002016-08-24 18:11:04addTag3biomatBiomat2016-08-19 21:43:08+00:002016-08-19 21:43:08updated2First createdbiomatBiomat2016-08-19 21:13:54+00:002016-08-19 21:13:54created1wiki2016-08-24T18:35:48+00:00groups/geekstuff/wiki/08c03FalseTutorial: Scanner da LaserJet M1120 MFP no iOS/groups/geekstuff/wiki/08c03/Tutorial_Scanner_da_LaserJet_M1120_MFP_no_iOS.htmlBiomat10 updatesTutorial: Scanner da LaserJet M1120 MFP no iOS Scanner da LaserJet M1120 MFP no iOS Prefácio Olá. Este tutorial tem o objeti...Falsebiomat2016-08-24T18:35:48+00:00biomatBiomat2015-10-24 16:35:01+00:002015-10-24 16:35:01updated11biomatBiomat2015-10-23 22:29:08+00:002015-10-23 22:29:08updated10added Mac OS X partbiomatBiomat2015-10-23 22:28:31+00:002015-10-23 22:28:31updated9biomatBiomat2014-09-23 22:12:48+00:002014-09-23 22:12:48updated8Added tag - installbiomatBiomat2014-09-23 22:12:43+00:002014-09-23 22:12:43addTag7Added tag - csgbiomatBiomat2014-09-23 22:12:38+00:002014-09-23 22:12:38addTag6Added tag - cgbiomatBiomat2014-09-23 22:12:33+00:002014-09-23 22:12:33addTag5Added tag - coarse-grainbiomatBiomat2014-09-23 22:12:31+00:002014-09-23 22:12:31addTag4Added tag - votcabiomatBiomat2014-09-23 22:12:25+00:002014-09-23 22:12:25addTag3Added tag - hotbiomatBiomat2014-09-23 22:12:21+00:002014-09-23 22:12:21addTag2First createdbiomatBiomat2014-09-23 17:57:47+00:002014-09-23 17:57:47created1wiki2015-10-24T16:35:01+00:00groups/geekstuff/wiki/c0fa7FalseInstalação do VOTCA-CSG/groups/geekstuff/wiki/c0fa7/Instalaco_do_VOTCACSG.htmlBiomat11 updatesInstalação do VOTCA-CSG Prefácio Olá. Este tutorial tem o objetivo de auxiliar e guiar na instalação do software package VOTCA (http://www.votca.org/). O VO...Falsebiomat2015-10-24T16:35:01+00:00biomatBiomat2014-04-19 13:48:51+00:002014-04-19 13:48:51updated51biomatBiomat2014-04-19 13:40:24+00:002014-04-19 13:40:24updated50biomatBiomat2014-03-07 18:21:37+00:002014-03-07 18:21:37updated49biomatBiomat2014-02-27 12:30:24+00:002014-02-27 12:30:24updated48biomatBiomat2014-02-27 12:27:38+00:002014-02-27 12:27:38updated47biomatBiomat2014-02-26 22:08:24+00:002014-02-26 22:08:24updated46biomatBiomat2014-02-25 14:35:18+00:002014-02-25 14:35:18updated45biomatBiomat2014-02-25 14:33:33+00:002014-02-25 14:33:33updated44biomatBiomat2014-02-25 14:32:16+00:002014-02-25 14:32:16updated43biomatBiomat2014-02-25 14:30:06+00:002014-02-25 14:30:06updated42biomatBiomat2014-02-25 14:03:37+00:002014-02-25 14:03:37updated41biomatBiomat2014-02-25 13:59:32+00:002014-02-25 13:59:32updated40biomatBiomat2014-02-25 13:57:47+00:002014-02-25 13:57:47updated39biomatBiomat2014-02-25 13:56:52+00:002014-02-25 13:56:52updated38biomatBiomat2014-02-24 19:35:19+00:002014-02-24 19:35:19updated37biomatBiomat2014-02-03 15:15:39+00:002014-02-03 15:15:39updated36biomatBiomat2014-02-03 15:15:09+00:002014-02-03 15:15:09updated35biomatBiomat2013-11-06 23:36:18+00:002013-11-06 23:36:18updated34biomatBiomat2013-11-06 23:36:13+00:002013-11-06 23:36:13updated33biomatBiomat2011-09-03 09:42:19+00:002011-09-03 09:42:19updated32biomatBiomat2011-08-23 21:52:46+00:002011-08-23 21:52:46updated31biomatBiomat2011-07-26 22:37:00+00:002011-07-26 22:37:00updated30biomatBiomat2011-07-09 20:45:07+00:002011-07-09 20:45:07updated29tasoaresThereza Soares2011-05-21 01:52:32+00:002011-05-21 01:52:32updated28biomatBiomat2011-05-20 09:52:18+00:002011-05-20 09:52:18updated27biomatBiomat2011-05-20 09:03:48+00:002011-05-20 09:03:48updated26biomatBiomat2011-05-19 01:09:24+00:002011-05-19 01:09:24updated25biomatBiomat2011-05-19 01:09:09+00:002011-05-19 01:09:09updated24biomatBiomat2011-05-07 05:12:52+00:002011-05-07 05:12:52updated23biomatBiomat2011-05-06 18:42:54+00:002011-05-06 18:42:54updated22biomatBiomat2011-05-06 10:13:59+00:002011-05-06 10:13:59updated21biomatBiomat2011-05-06 10:12:46+00:002011-05-06 10:12:46updated20biomatBiomat2011-05-06 01:39:45+00:002011-05-06 01:39:45updated19biomatBiomat2011-03-09 23:58:20+00:002011-03-09 23:58:20updated18Added tag - hotbiomatBiomat2011-03-09 23:58:15+00:002011-03-09 23:58:15addTag17biomatBiomat2011-03-04 11:43:58+00:002011-03-04 11:43:58updated16biomatBiomat2011-03-04 11:33:45+00:002011-03-04 11:33:45updated15biomatBiomat2011-03-04 11:33:14+00:002011-03-04 11:33:14updated14biomatBiomat2011-03-04 11:23:04+00:002011-03-04 11:23:04updated13biomatBiomat2011-03-04 11:22:25+00:002011-03-04 11:22:25updated12biomatBiomat2011-03-04 11:21:56+00:002011-03-04 11:21:56updated11biomatBiomat2011-03-04 11:19:50+00:002011-03-04 11:19:50updated10biomatBiomat2011-03-04 11:19:04+00:002011-03-04 11:19:04updated9biomatBiomat2011-03-04 11:14:52+00:002011-03-04 11:14:52updated8biomatBiomat2011-03-04 10:43:23+00:002011-03-04 10:43:23updated7biomatBiomat2011-03-04 10:42:05+00:002011-03-04 10:42:05updated6biomatBiomat2011-03-04 10:40:44+00:002011-03-04 10:40:44updated5biomatBiomat2011-03-04 10:38:59+00:002011-03-04 10:38:59updated4biomatBiomat2011-03-04 10:38:06+00:002011-03-04 10:38:06updated3biomatBiomat2011-03-04 10:37:18+00:002011-03-04 10:37:18updated2First createdbiomatBiomat2011-03-04 10:35:29+00:002011-03-04 10:35:29created1wiki2014-04-19T13:48:51+00:00groups/geekstuff/wiki/c24e6FalseCluster barolo - Guia do usuário/groups/geekstuff/wiki/c24e6/Cluster_barolo__Guia_do_usuario.htmlBiomat51 updatesCluster barolo - Guia do usuário Introdução Antes de você começar a rodar cálculos na barolo, por favor, siga todos os passos abaixo. Gostaria de adicionar que a barolo está c...Falsebiomat2014-04-19T13:48:51+00:00biomatBiomat2013-03-14 22:07:29+00:002013-03-14 22:07:29updated29biomatBiomat2013-03-14 22:06:03+00:002013-03-14 22:06:03updated28biomatBiomat2013-03-14 20:51:48+00:002013-03-14 20:51:48updated27biomatBiomat2013-03-14 20:51:28+00:002013-03-14 20:51:28updated26biomatBiomat2013-03-14 20:47:35+00:002013-03-14 20:47:35updated25biomatBiomat2013-03-14 20:46:59+00:002013-03-14 20:46:59updated24biomatBiomat2013-02-11 01:01:04+00:002013-02-11 01:01:04updated23biomatBiomat2013-02-11 00:58:48+00:002013-02-11 00:58:48updated22biomatBiomat2013-02-11 00:56:47+00:002013-02-11 00:56:47updated21biomatBiomat2013-02-11 00:56:04+00:002013-02-11 00:56:04updated20biomatBiomat2013-02-08 04:57:24+00:002013-02-08 04:57:24updated19biomatBiomat2013-02-08 04:57:14+00:002013-02-08 04:57:14updated18biomatBiomat2013-02-08 04:54:53+00:002013-02-08 04:54:53updated17biomatBiomat2013-02-08 04:50:29+00:002013-02-08 04:50:29updated16biomatBiomat2013-02-08 04:39:37+00:002013-02-08 04:39:37updated15biomatBiomat2013-02-08 03:13:49+00:002013-02-08 03:13:49updated14biomatBiomat2013-02-08 03:11:55+00:002013-02-08 03:11:55updated13biomatBiomat2013-02-08 02:56:49+00:002013-02-08 02:56:49updated12biomatBiomat2013-02-08 02:29:20+00:002013-02-08 02:29:20updated11biomatBiomat2013-02-08 02:26:06+00:002013-02-08 02:26:06updated10Added tag - hotbiomatBiomat2013-02-08 02:19:24+00:002013-02-08 02:19:24addTag9biomatBiomat2013-02-08 00:00:46+00:002013-02-08 00:00:46updated8biomatBiomat2013-02-07 22:17:35+00:002013-02-07 22:17:35updated7biomatBiomat2013-02-07 22:12:20+00:002013-02-07 22:12:20updated6biomatBiomat2013-02-07 22:09:38+00:002013-02-07 22:09:38updated5biomatBiomat2013-01-31 22:07:20+00:002013-01-31 22:07:20updated4biomatBiomat2013-01-31 22:06:53+00:002013-01-31 22:06:53updated3biomatBiomat2013-01-31 22:06:06+00:002013-01-31 22:06:06updated2First createdbiomatBiomat2013-01-31 22:01:42+00:002013-01-31 22:01:42created1wiki2013-03-14T22:07:29+00:00groups/geekstuff/wiki/2ebb2FalseGROMACS 4.6 Installation Guide/groups/geekstuff/wiki/2ebb2/GROMACS_46_Installation_Guide.htmlBiomat29 updatesGROMACS 4.6 Installation Guide 1. Introduction GROMACS 4.6 has another procedure to be installed compared to the previous 4.5.X versions. Now it does not rely on the ...Falsebiomat2013-03-14T22:07:29+00:00hot/groups/geekstuff/search/index.rss?sort=modifiedDate&kind=all&sortDirection=reverse&excludePages=wiki/welcomelist/groups/geekstuff/search/?sort=modifiedDate&kind=all&sortDirection=reverse&excludePages=wiki/welcomeRecent ChangesRecentChangesListUpdates?sort=modifiedDate&kind=all&sortDirection=reverse&excludePages=wiki/welcome0/groups/geekstuff/sidebar/RecentChangesListmodifiedDateallRecent ChangesRecentChangesListUpdateswiki/welcomeNo recent changes.reverse5search